Nginx 核心配置:反向代理/静态资源/限流/SSL/负载
时间:2026-09-13 21:11 来源:未知 人气:
前言
Nginx作为高性能的HTTP和反向代理服务器,已成为企业级应用架构的核心组件。本文从基础环境到高级配置,全面覆盖了Nginx的反向代理、静态资源、限流、SSL和负载均衡四大核心功能。
基础环境准备
# 安装Nginx
yum install -y nginx
# 启动并设置开机自启
systemctl start nginx
systemctl enable nginx
# 验证服务状态
systemctl status nginx
核心配置文件路径
- 主配置文件:/etc/nginx/nginx.conf
- 虚拟主机配置目录:/etc/nginx/conf.d/(推荐将站点配置放在此目录,以.conf结尾)
- 日志目录:/var/log/nginx/(access.log记录访问日志,error.log记录错误日志)
反向代理配置
反向代理是Nginx最常用的功能之一,通过将客户端请求转发至后端服务器,可实现负载均衡、隐藏真实服务地址、统一入口等效果。
基础反向代理配置
场景:将http://example.com的请求转发至后端192.168.1.100:8080服务。 创建站点配置文件/etc/nginx/conf.d/proxy.conf:
server {
listen 80;
server_name example.com; # 你的域名或服务器IP
# 日志配置
access_log /var/log/nginx/proxy_access.log main;
error_log /var/log/nginx/proxy_error.log warn;
# 反向代理核心配置
location / {
proxy_pass http://192.168.1.100:8080; # 后端服务地址
proxy_set_header Host $host; # 传递客户端请求的Host头
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 传递代理链IP
proxy_set_header X-Forwarded-Proto $scheme; # 传递请求协议(http/https)
}
}
带缓存的反向代理(优化性能)
为减少后端服务压力,可配置Nginx缓存静态资源(如图片、JS、CSS):
http {
# 全局缓存配置(放在http块中)
proxy_cache_path /var/cache/nginx/proxy_cache
levels=1:2
keys_zone=PROXY_CACHE:10m
max_size=10g
inactive=7d
use_temp_path=off;
server {
# ... 其他配置同上 ...
location ~* \.(jpg|jpeg|png|gif|js|css)$ { # 匹配静态资源后缀
proxy_pass http://192.168.1.100:8080;
proxy_cache PROXY_CACHE; # 启用缓存,关联上述keys_zone
proxy_cache_valid 200 304 1d; # 200/304状态码缓存1天
proxy_cache_valid any 10m; # 其他状态码缓存10分钟
proxy_cache_key "$host$request_uri$is_args$args"; # 缓存键值(确保唯一性)
add_header X-Cache-Status $upstream_cache_status; # 响应头显示缓存状态(HIT/MISS)
}
}
}
本文标签: