Nginx 是一个高性能的 Web 服务器和反向代理工具。这里整理一份够用的配置指南。
最简单的静态文件服务:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
将请求转发到后端服务:
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
配置证书启用 HTTPS:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
# HTTP 自动跳转 HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
# 检查配置语法
nginx -t
# 重新加载配置(不中断服务)
nginx -s reload
# 查看编译参数
nginx -V
修改配置文件后一定要先nginx -t检查语法,再nginx -s reload生效。
# 访问日志
tail -f /var/log/nginx/access.log
# 错误日志
tail -f /var/log/nginx/error.log
日志路径可以在 nginx.conf 中自定义。排查问题先看 error.log,大部分线索都在里面。