Nginx 负载均衡(load balance) 配置
http{ upstream sampleapp { // 可选配置项,如 least_conn,ip_hash server 127.0.0.1:3000 weight =10; // weight 权重 server 127.0.0.1:3001 weight =15; server 127.0.0.1:3002 weight =20; server 127.0.0.1:3003 weight =30; // ... 监听更多端口 } .... server{ listen 80; ... location / { proxy_pass http://sampleapp; // 监听 80 端口,然后转发 } }
默认的负载均衡规则是把网络请求依次分配到不同的端口,我们可以用 least_conn 标志把网络请求转发到连接数最少的 Node.js 进程,也可以用 ip_hash 保证同一个 ip 的请求一定由同一个 Node.js 进程处理。
Nginx 反向代理服务器
location / { #设置主机头和客户端真实地址,以便服务器获取客户端真实IP 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_buffering off; #设置反向代理的地址 proxy_pass http://192.168.1.1; }
Nginx 缓存设置 expires、etag、if-modified-since指令来进行浏览器缓存控制
expires location /img { alias /export/img/; expires 1d; } if-modified-since