Nginx配置反向代理与负载均衡
Nginx是高性能的Web服务器和反向代理工具,常被用来做负载均衡、SSL终止和静态资源加速。本文介绍最常用的反向代理配置方法。
基础反向代理
以下配置将所有访问example.com的请求转发到本地的3000端口应用:server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
proxy_set_header用于将客户端的真实信息传递给后端应用,否则后端只能看到Nginx的请求。
负载均衡配置
当后端有多个服务器实例时,可以用upstream做负载均衡:upstream backend {
server 192.168.1.10:3000 weight=3;
server 192.168.1.11:3000 weight=2;
server 192.168.1.12:3000 backup;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
weight参数控制权重,backup表示备用服务器。默认是轮询算法,也可以改成ip_hash实现会话保持。
常用配置项
添加缓冲和超时设置可以提升性能:proxy_buffering on、proxy_buffer_size 4k、proxy_connect_timeout 30s。配置SSL证书也很简单,加上ssl_certificate和ssl_certificate_key两行即可。Nginx配置改完后记得用nginx -t检查语法,再nginx -s reload热加载。




提供云计算服务