Ubuntu环境搭建Web服务器指南(以Apache/Nginx为例)
sudo apt update && sudo apt upgrade -y
wget
、curl
等工具(可选,但常用)。sudo apt install wget curl -y
Apache是Ubuntu默认仓库中的流行选择,支持.htaccess
配置,适合需要灵活功能的场景。
sudo apt install apache2 -y
sudo systemctl start apache2 # 启动服务
sudo systemctl enable apache2 # 开机自启
http://192.168.1.100
),若看到Apache默认欢迎页面(含“It works!”字样),则说明安装成功。Nginx以高性能、低资源占用著称,适合静态内容托管或反向代理场景。
sudo apt install nginx -y
sudo systemctl start nginx # 启动服务
sudo systemctl enable nginx # 开机自启
允许HTTP(80端口)和HTTPS(443端口)流量,确保外部可访问。
sudo ufw allow 'Apache Full' # 允许Apache全流量(HTTP+HTTPS)
sudo ufw enable # 启用防火墙
sudo ufw status # 查看规则(确认“Apache Full”为ACTIVE)
sudo mkdir -p /var/www/yourdomain.com/public_html # 替换yourdomain.com为你的域名
ubuntu
),组设为www-data
(Apache运行用户),确保Apache可读取文件。sudo chown -R ubuntu:www-data /var/www/yourdomain.com
sudo chmod -R 750 /var/www/yourdomain.com
public_html
目录下创建index.html
,写入测试内容:echo "<h1>Hello, World!</h1><p>This is your first website.</p>" | sudo tee /var/www/yourdomain.com/public_html/index.html
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/yourdomain.com.conf
sudo nano /etc/apache2/sites-available/yourdomain.com.conf
yourdomain.com
为你的域名,/var/www/yourdomain.com/public_html
为网站根目录):<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/yourdomain.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite yourdomain.com.conf # 启用站点
sudo a2dissite 000-default.conf # 可选:禁用默认站点
sudo systemctl reload apache2 # 重载配置
浏览器访问http://yourdomain.com
(若未绑定域名,直接用服务器IP),应看到index.html
的内容。
允许Nginx流量:
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status
sudo mkdir -p /var/www/yourdomain.com/html
sudo chown -R www-data:www-data /var/www/yourdomain.com
sudo chmod -R 750 /var/www/yourdomain.com
echo "<h1>Welcome to Nginx!</h1><p>Your static site is working.</p>" | sudo tee /var/www/yourdomain.com/html/index.html
sites-available
目录下创建新配置(如yourdomain.com
),并创建符号链接到sites-enabled
:sudo nano /etc/nginx/sites-available/yourdomain.com
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_log /var/log/nginx/yourdomain.com_error.log;
access_log /var/log/nginx/yourdomain.com_access.log;
}
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置语法(无错误则继续)
sudo systemctl reload nginx
浏览器访问http://yourdomain.com
,应看到Nginx的首页。
安装SSL证书(启用HTTPS):
使用Let’s Encrypt免费证书,自动配置HTTP转HTTPS:
sudo apt install certbot python3-certbot-apache # Apache
sudo apt install certbot python3-certbot-nginx # Nginx
sudo certbot --apache -d yourdomain.com # Apache
sudo certbot --nginx -d yourdomain.com # Nginx
按提示完成域名验证,证书会自动续期。
修改默认端口(可选):
若需更改HTTP端口(如8080),编辑配置文件中的listen
指令,然后重载服务。
禁用默认站点:
删除或禁用默认站点配置,避免暴露不必要的页面:
sudo rm -rf /var/www/html/* # 清空默认目录
sudo a2dissite 000-default.conf && sudo systemctl reload apache2 # Apache
sudo ufw status
)、服务是否运行(sudo systemctl status apache2/nginx
)、端口是否被占用(sudo ss -tulnp | grep ':80'
)。www-data
(Apache)或www-data
(Nginx),权限为750
。apache2ctl -t
(Apache)或nginx -t
(Nginx)测试配置语法,修复错误后重载服务。按照以上步骤,即可在Ubuntu环境中快速搭建并配置Web服务器,满足静态或动态网站的托管需求。