Nginx 常用配置笔记
【摘要】 记录 Nginx 日常高频配置:基础全局配置、反向代理、静态资源缓存、Gzip 压缩、HTTPS 跳转,以及配置检查与重载命令,形成可直接复用的配置笔记。
前言
Nginx 是高性能的 Web 服务器与反向代理软件,日常部署静态站点和网关时经常需要调整其配置。本文记录几个最常用的配置片段,方便随时查阅。
1. 基础全局配置
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
use epoll;
}
2. 反向代理配置
最常见的场景是把请求转发到后端应用:
upstream backend {
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:8081 backup;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
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_connect_timeout 5s;
proxy_read_timeout 60s;
}
}
注意:转发真实客户端 IP 必须设置 X-Real-IP 和 X-Forwarded-For 头,否则后端只能拿到 Nginx 的内网地址。
3. 静态资源缓存
location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
root /data/www;
expires 30d;
add_header Cache-Control "public";
access_log off;
}
4. Gzip 压缩
gzip on;
gzip_min_length 1k;
gzip_types text/css text/javascript application/json application/javascript;
gzip_comp_level 6;
gzip_vary on;
gzip_comp_level 一般取 4~6,太高会浪费 CPU,收益却有限。
5. HTTPS 与 HTTP 跳转
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/cert.pem;
ssl_certificate_key /etc/nginx/cert.key;
location / {
root /data/www;
}
}
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
6. 配置检查与重载
nginx -t
nginx -s reload
nginx -s stop
修改配置后务必先执行 nginx -t 验证语法,再重载,避免因配置错误导致服务中断。
小结
掌握反向代理、静态缓存、Gzip、HTTPS 这几类配置,就能应对绝大多数日常场景。建议把验证过的配置模板保存下来,新项目直接复用。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)