| 步骤 | 核心命令/操作 | 说明 |
| 安装 | sudo apt update && sudo apt install nginx -y | 从 Ubuntu 官方仓库安装 Nginx。 |
| 管理服务 | sudo systemctl start nginx sudo systemctl enable nginx sudo systemctl status nginx | 启动、设置开机自启、检查服务状态。 |
| 配置防火墙 | sudo ufw allow ‘Nginx Full’ | 允许 HTTP(80) 和 HTTPS(443) 流量。 |
| 测试运行 | 浏览器访问 http://你的服务器IP | 看到 Nginx 欢迎页即表示安装成功。 |
| 验证配置 | sudo nginx -t | 检查配置文件语法是否正确。 |
| 重载配置 | sudo systemctl reload nginx | 应用修改后的配置,无需重启服务。 |
配置网站(服务器块)
Nginx 使用“服务器块”(类似于虚拟主机)来托管多个网站。
创建服务器块配置:在 /etc/nginx/sites-available/ 目录下为网站创建配置文件,例如 example.com。
bash
sudo nano /etc/nginx/sites-available/example.com
将以下配置粘贴到文件中,请务必将 server_name 和 root 路径替换为你自己的域名和网站目录。
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
创建网站目录及文件:为你的网站创建一个根目录,并添加测试页面。
bash
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
chmod -R 755 /var/www/example.com
echo '<html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/example.com/html/index.html
以上命令创建了目录 /var/www/example.com/html,并设置了权限和测试页面。
启用配置:通过在 sites-enabled 目录创建符号链接来启用此配置。
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
测试并应用:最后,测试配置并重新加载 Nginx。
bash
sudo nginx -t # 测试配置语法
sudo systemctl reload nginx # 应用新配置
进阶配置与故障排查
- 关键目录与文件:
- 主配置文件:/etc/nginx/nginx.conf
- 可用站点配置:/etc/nginx/sites-available/
- 已启用站点配置:/etc/nginx/sites-enabled/
- 默认网站根目录:/var/www/html
- 日志文件:/var/log/nginx/access.log 和 /var/log/nginx/error.log
- 常见问题排查:
- 端口占用:使用 sudo ss -tulnp | grep :80 检查 80 端口是否被其他程序占用。
- 配置语法错误:务必在重载前执行 sudo nginx -t 来验证。
- 权限问题:如果遇到 403 Forbidden,请检查网站根目录及其父目录的权限是否允许 Nginx 进程(通常是 www-data 用户)读取。