nginx 负载均衡的配置
nginx负载均衡一,
1. 安装时不要安装在源代码同一个目录下,make时会报错的。
代码如下 | 复制代码 |
./configure --prefix=/opt/nginx |
2. 修改配置文件/opt/nginx/conf/nginx.conf
在server元素前增加:(假设两个tomcat的端口都是8080)
代码如下 | 复制代码 |
upstream www.111cn.net { |
将server元素下的server_name改为实际域名,例如:
代码如下 | 复制代码 |
server_name www.111cn.net |
在location元素下面增加一行:
代码如下 | 复制代码 |
proxy_pass www.111cn.net |
3. 启动停止命令
启动:/opt/nginx/sbin/nginx
快速停止:/opt/nginx/sbin/nginx -s stop
完整有序停止:/opt/nginx/sbin/nginx -s quit
重新加载:/opt/nginx/sbin/nginx -s reload
nginx负载均衡二,
假设我们有3台服务器,IP地址分别为:
192.168.0.1 / 192.168.0.2 / 192.168.0.3
我们将192.168.0.1作为前端主服务器,192.168.0.2和192.168.0.3作为负载均衡的后端服务器。
下面是192.168.0.1主服务器上Nginx的配置方法:
代码如下 | 复制代码 |
worker_processes 1; events { http { server { |
配置说明:
upstream serverlist{}可以理解为一个服务器池,通过proxy_pass http://serverlist命令,可将访问www.111cn.net的请求分配给位于池内的服务器192.168.0.2和192.168.0.3。
weight=3和weight=7为服务器的权重,权重越高,被分配到的请求就越多。
max_fails=3和fail_timeout=20s的含义是,当请求失败次数达到3次时,这个服务器将被暂时下线20秒。
技巧:主服务器可负责静态内容,将所有php的请求分配到后端服务器处理。