一、安装 Nginx
-
更新软件包列表
确保系统仓库信息最新,避免安装旧版本:bash
复制
sudo apt update -
安装 Nginx
通过官方仓库直接安装:bash
复制
sudo apt install nginx -y -
验证安装
检查版本确认安装成功:bash
复制
nginx -v
二、管理 Nginx 服务
-
启动并设置开机自启
bash
复制
sudo systemctl start nginx # 立即启动 sudo systemctl enable nginx # 开机自启 -
检查服务状态
确认服务已正常运行(按q退出):bash
复制
sudo systemctl status nginx -
常用命令
bash
复制
sudo systemctl restart nginx # 重启服务(中断连接) sudo systemctl reload nginx # 平滑重载(不中断连接) sudo systemctl stop nginx # 停止服务
三、防火墙配置
-
允许 HTTP/HTTPS 流量
使用 UFW 防火墙工具:bash
复制
sudo ufw allow 'Nginx Full' # 允许 HTTP(80) + HTTPS(443) # 或单独允许 # sudo ufw allow 'Nginx HTTP' # sudo ufw allow 'Nginx HTTPS' -
验证防火墙规则
bash
复制
sudo ufw status
四、配置虚拟主机(Server Blocks)
-
创建网站目录结构
以example.com为例:bash
复制
sudo mkdir -p /var/www/example.com/html sudo chown -R $USER:$USER /var/www/example.com/html sudo chmod -R 755 /var/www/example.com -
创建测试页面
bash
复制
echo "Hello from example.com!" | sudo tee /var/www/example.com/html/index.html -
创建配置文件
新建虚拟主机配置:bash
复制
sudo nano /etc/nginx/sites-available/example.comnginx
复制
server { listen 80; server_name example.com www.example.com; root /var/www/example.com/html; index index.html; location / { try_files $uri $uri/ =404; } access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; } -
启用配置
创建符号链接到sites-enabled:bash
复制
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ -
测试并应用配置
bash
复制
sudo nginx -t # 检查语法 sudo systemctl reload nginx
五、高级配置补充
-
配置 SSL 证书(Let's Encrypt)
安装 Certbot 并获取证书:bash
复制
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d example.com -d www.example.com -
反向代理配置示例
将请求转发到本地应用(如运行在 3000 端口的 Node.js):nginx
复制
location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } -
性能优化
调整nginx.conf中的全局参数:nginx
复制
worker_processes auto; # 自动匹配 CPU 核心数 keepalive_timeout 65; # 保持连接时间 gzip on; # 启用压缩
六、故障排查
-
检查日志
实时监控错误日志:bash
复制
sudo tail -f /var/log/nginx/error.log -
端口占用检查
确认 80/443 端口未被其他服务占用:bash
复制
sudo netstat -tulpn | grep ':80'
七、关键文件位置
| 文件/目录 | 作用说明 |
|---|---|
/etc/nginx/nginx.conf | 主配置文件 |
/etc/nginx/sites-available/ | 可用虚拟主机配置 |
/etc/nginx/sites-enabled/ | 已启用虚拟主机配置(符号链接) |
/var/www/html | 默认网站根目录 |
/var/log/nginx/ | 访问日志和错误日志 |
通过以上步骤,您已完成 Nginx 的基础配置,并可根据需求扩展高级功能。建议定期检查日志并更新 SSL 证书。