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)内容,可调整相关配置。

反向代理配置示例:

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;       
}

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

 

4.  负载均衡配置

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

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

负载均衡配置示例:

upstream backend {
       #ip_hash;
       server 192.168.1.251;
       server 192.168.1.252;
       server 192.168.1.247;
}

server {
  	listen 80;
  	server_name  mimvp.com;

  	location / {
		#反向代理的地址
       	proxy_pass http://backend;     
  	}
}

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

 

5.  完整配置示例

vim nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}

http {
	include mime.types;
	default_type  application/octet-stream;
	sendfile  on;
	keepalive_timeout  65;

	upstream backend {
		# ip_hash;

		server 192.168.1.251;
     	server 192.168.1.252;
   		server 192.168.1.247;
	}

	server {
  		listen 80;
  		server_name  mimvp.com;

	  	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://backend;     
  		}
    }
}