Nginx 服务与配置管理
nginx 是 Web 服务器和反向代理,配置由 http、server、location 层级组成。改配置后要先测试再 reload,避免把线上打挂。
nginx
nginx -t
nginx -T
nginx -s reload
nginx -s quit
nginx -s stop
nginx -V
最小反向代理:
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
nginx -t,再 nginx -s reload。root 和 alias 的路径拼接不同;alias 结尾斜杠容易出错。location 的优先级和正则顺序会导致请求命中错误块。Host、X-Forwarded-*,否则后端生成错误 URL。worker_connections 和系统文件描述符限制要匹配。client_max_body_size、缓冲和超时。nginx — 配置与日志curl — 验证请求openssl — TLS 证书合上页面,先回答,再展开对照。
root 和 alias 的路径拼接有什么不同?Host 和 X-Forwarded-*?nginx -t 校验,再 nginx -s reload 平滑加载。root 把 location 的 URI 拼到根目录后;alias 用 alias 路径替换 location 部分,结尾斜杠很容易出错。