Nginx反向代理和负载均衡部署指南

at 8年前  ca Nginx  pv 1868  by touch  

1.        安装

1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包;

2)         解压后复制到部署目录。

 

2.        启动和停止Nginx

Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录。

1)         启动Nginx:start nginx

2)         停止Nginx:nginx -s stop

3)         修改配置后重启:nginx -s reload

这三个命令可分别做成bat文件,放在部署目录下,方便后续操作。

start nginx.bat文件内容:start nginx

stop nginx.bat文件内容:nginx -s stop

reload nginx.bat文件内容:nginx -s reload

 

3.        反向代理配置

修改部署目录下conf子目录的nginx.conf文件(如nginx-1.5.13\conf\nginx.conf)内容,可调整相关配置。

反向代理配置示例:

  1. location / {
  2.         #设置主机头和客户端真实地址,以便服务器获取客户端真实IP
  3.              proxy_set_header Host $host;
  4.              proxy_set_header X-Real-IP $remote_addr;
  5.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  6.  
  7.              #禁用缓存
  8.              proxy_buffering off;
  9.  
  10.              #设置反向代理的地址
  11.              proxy_pass http://192.168.1.1;       
  12.       }

代理地址根据实际情况修改。

 

4.        负载均衡配置

nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 

 

负载均衡配置示例:

  1. upstream backend {
  2.              #ip_hash;
  3.  
  4.              server 192.168.1.251;
  5.              server 192.168.1.252;
  6.              server 192.168.1.247;
  7.          }
  8.  
  9. server {
  10.         listen       80;
  11.         server_name  trffweb;
  12.  
  13.         location / {
  14.  
  15.              #反向代理的地址
  16.              proxy_pass http://backend;     
  17.         }
  18. }

 

Upstream命名和服务器地址根据实际情况修改。

 

5.        完整配置示例

nginx.conf:

 

  1. worker_processes  1;
  2. events {
  3.     worker_connections  1024;
  4. }
  5.  
  6. http {
  7.     include       mime.types;
  8.     default_type  application/octet-stream;
  9.     sendfile        on;
  10.     keepalive_timeout  65;
  11.  
  12.     upstream backend {
  13.              #ip_hash;
  14.              server 192.168.1.251;
  15.              server 192.168.1.252;
  16.              server 192.168.1.247;
  17.          }
  18.  
  19.     server {
  20.         listen       80;
  21.         server_name  2;
  22.  
  23.         location / {
  24.         #设置主机头和客户端真实地址,以便服务器获取客户端真实IP
  25.              proxy_set_header Host $host;
  26.              proxy_set_header X-Real-IP $remote_addr;
  27.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  28.  
  29.              #禁用缓存
  30.              proxy_buffering off;
  31.  
  32.              #反向代理的地址
  33.              proxy_pass http://backend;     
  34.         }
  35.     }
  36.  
  37. }


版权声明

本文仅代表作者观点,不代表码农殇立场。
本文系作者授权码农殇发表,未经许可,不得转载。

 

扫一扫在手机阅读、分享本文

冀ICP备14009681号-2 Powered By 码农殇 Theme By zb脚本
您是本站第7148名访客 今日有0篇新文章