Nginx 常用命令
Nginx的常用命令与配置管理整理,按功能分类说明:
服务管理
启动Nginx
1
2
3# 通用启动方式(根据系统)
sudo systemctl start nginx # systemd系统(Ubuntu 16.04+/CentOS 7+)
sudo service nginx start # SysVinit系统(旧版Ubuntu/CentOS)停止Nginx
1
2sudo systemctl stop nginx # 强制停止服务
sudo service nginx stop # 旧版系统重启/重载配置
1
2
3sudo systemctl reload nginx # 平滑重载(不中断连接,推荐)
sudo systemctl restart nginx # 强制重启(中断连接)
sudo nginx -s reload # 直接通过Nginx主进程重载检查服务状态
1
2sudo systemctl status nginx # 查看运行状态和日志
sudo service nginx status # 旧版系统
配置验证与调试
检查配置文件语法
1
2sudo nginx -t # 测试配置文件语法
sudo nginx -t -c /path/to/nginx.conf # 测试指定配置文件查看Nginx版本与编译参数
1
2nginx -v # 显示版本
nginx -V # 显示版本及编译模块信息
日志管理
查看日志文件
1
2
3# 默认日志路径(根据安装方式可能不同)
tail -f /var/log/nginx/access.log # 实时查看访问日志
tail -f /var/log/nginx/error.log # 实时查看错误日志自定义日志路径
1
2
3# 在nginx.conf或站点配置中设置
access_log /var/log/nginx/custom_access.log;
error_log /var/log/nginx/custom_error.log;
进程管理
查看Nginx进程
1
ps aux | grep nginx # 查看所有Nginx相关进程
强制终止Nginx
1
sudo pkill nginx # 强制终止所有Nginx进程
虚拟主机(Server Block)配置
创建站点配置文件
1
2
3# 通常配置在`/etc/nginx/sites-available/`,然后创建符号链接到`sites-enabled/`
sudo nano /etc/nginx/sites-available/example.com.conf
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/基础站点配置示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17server {
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;
}
# 反向代理到本地应用(如Node.js)
location /api {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
SSL证书配置
使用Let’s Encrypt(Certbot)
1
2
3# 安装Certbot并获取证书
sudo apt install certbot python3-certbot-nginx # Ubuntu/Debian
sudo certbot --nginx -d example.com -d www.example.com手动配置SSL
1
2
3
4
5
6
7
8
9
10server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
# 其他SSL优化配置(如协议、加密套件)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
}
静态文件服务优化
1 | server { |
反向代理配置
1 | # 将请求代理到后端服务(如Node.js、Python应用) |
常见问题排查
端口占用检查
1
sudo lsof -i :80 # 查看80端口占用情况
权限问题修复
1
2sudo chown -R www-data:www-data /var/www/ # 设置文件所有权(Ubuntu)
sudo chmod -R 755 /var/www/ # 调整权限配置错误回滚
1
2sudo nginx -t # 先测试配置
sudo systemctl reload nginx # 确认无误后重载
其他实用命令
查看已加载模块
1
nginx -V 2>&1 | grep --color=auto -o "with-http_[a-z_]*"
自定义配置文件路径启动
1
sudo nginx -c /path/to/custom-nginx.conf
通过以上命令和配置示例,您可以高效管理Nginx服务、优化Web性能,并快速解决常见问题。建议在修改配置前始终使用 nginx -t
验证语法。