Ubuntu 上编辑 Nginx 配置文件的实用步骤
一 常用配置路径与生效机制
- 主配置文件:/etc/nginx/nginx.conf
- 站点配置目录:/etc/nginx/sites-available/(存放各站点配置)
- 已启用站点目录:/etc/nginx/sites-enabled/(通过符号链接启用,Nginx 启动时会加载这里)
- 其他可用目录:/etc/nginx/conf.d/*.conf(部分安装方式也会读取该目录下的配置)
- 生效机制简述:编辑后建议先测试语法,再让 Nginx 重新加载配置使其生效。
二 编辑与启用站点的标准流程
- 备份默认配置(可选但强烈建议)
- 命令:sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
- 编辑站点配置
- 命令:sudo nano /etc/nginx/sites-available/example.com(将 example.com 替换为你的域名或标识)
- 写入基础 server 块示例
- 启用站点(创建符号链接)
- 命令:sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
- 测试配置语法
- 重新加载 Nginx 使配置生效
- 命令:sudo systemctl reload nginx
- 访问验证
- 浏览器访问:http://example.com 或服务器 IP。
三 常用操作命令速查
- 启动/停止/重启/状态
- 启动:sudo systemctl start nginx
- 停止:sudo systemctl stop nginx
- 重启:sudo systemctl restart nginx
- 状态:sudo systemctl status nginx
- 重新加载(不中断服务)
- sudo systemctl reload nginx
- 语法检查
- 查看日志
- 错误日志:sudo tail -f /var/log/nginx/error.log
- 访问日志:sudo tail -f /var/log/nginx/access.log
- 防火墙放行(如启用 UFW)
- 放行 HTTP/HTTPS:sudo ufw allow ‘Nginx Full’
- 仅放行 HTTP:sudo ufw allow http
四 常见问题与排查
- 403 Forbidden:检查站点根目录是否存在、权限是否正确,Nginx 工作进程用户(常见为 www-data)是否可读,例如:
- 创建目录:sudo mkdir -p /var/www/example.com
- 设置权限:sudo chown -R www-data:www-data /var/www/example.com 与 sudo chmod -R 755 /var/www/example.com
- 配置未生效:确认文件已软链到 /etc/nginx/sites-enabled/,执行 sudo nginx -t 检查语法,再 sudo systemctl reload nginx
- 端口未放行:若启用 UFW,放行 Nginx Full 或 http;云服务器还需在安全组放行 80/443。
五 可选 一键 HTTPS 配置
- 安装 Certbot 并自动配置 Nginx SSL:
- 安装:sudo apt install certbot python3-certbot-nginx
- 申请并配置证书:sudo certbot --nginx -d example.com -d www.example.com
- 按提示选择是否重定向 HTTP 到 HTTPS,证书到期会自动续期。