Nginx负载均衡配置
一、Nginx操作命令
start nginx : 启动nginx
nginx -s reload :修改配置后重新加载生效
nginx -s reopen :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确
关闭nginx:
nginx -s stop : 快速停止nginx
nginx -s quit :完整有序的停止nginx
二、启动各tomcat服务器上的服务
./bin/startup.sh
tail -f ./logs/catalina.out
三、修改配置文件
cd conf/
vim nginx.conf
upstream www_server_pool {
server 10.0.0.5;
server 10.0.0.6:80 weight=3 max_fails=1 fails_timeout=10s;
server 10.0.0.7:80 weight=2 max_fails=2 fails_timeout=10s backup;
server 10.0.0.8:80 weight=1 max_fails=3 fails_timeout=20s backup;
}
- server{ }中修改location / {}
upstream www_server_pool {
server 10.0.0.5;
server 10.0.0.6:80 weight=3 max_fails=1 fails_timeout=10s;
server 10.0.0.7:80 weight=2 max_fails=2 fails_timeout=10s backup;
server 10.0.0.8:80 weight=1 max_fails=3 fails_timeout=20s backup;
}
server {
listen 80;
server_name www_server_pools;
location / {
proxy_pass http://www_server_pools;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_redirect default;
proxy_buffer_size 512k;
proxy_buffers 6 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
client_max_body_size 100m;
}
}
四、加载配置文件启动
./nginx -c /usr/nginx/conf/nginx.conf
五、报错解决
[root@wNginx sbin]# ./nginx -c /usr/nginx/conf/nginx.conf
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
- 使用nginx -s stop 后停止服务,相关进程仍然存在
- kill掉服务
[root@Nginx sbin]# ps aux|grep nginx
root 12669 0.0 0.0 20572 392 ? Ss 12:44 0:00 nginx: master process ./nginx
nobody 12671 0.0 0.0 23100 1372 ? S 12:44 0:00 nginx: worker process
root 17943 0.0 0.0 112824 980 pts/0 R+ 17:28 0:00 grep --color=auto nginx
[root@Nginx sbin]# kill 12669
[root@Nginx sbin]# kill 12671
bash: kill: (12671) - 没有那个进程
[root@Nginx sbin]# ps aux|grep nginx
root 17964 0.0 0.0 112824 980 pts/0 S+ 17:29 0:00 grep --color=auto nginx
[root@Nginx sbin]# ./nginx -c /usr/nginx/conf/nginx.conf
六、修改tomcat服务器上的index.jsp
vim ./webapps/ROOT/index.jsp
- 修改tomcat服务器上的index.jsp区分服务
<h1>1
七、均衡负载策略
1.轮询
upstream www_server_pool {
server 10.0.0.5;
server 10.0.0.6:80;
server 10.0.0.7:80;
server 10.0.0.8:80 ;
}
2.weight权重
upstream www_server_pool {
server 10.0.0.5;
server 10.0.0.6:80 weight=3 max_fails=1 fails_timeout=10s;
server 10.0.0.7:80 weight=2 max_fails=2 fails_timeout=10s backup;
server 10.0.0.8:80 weight=1 max_fails=3 fails_timeout=20s backup;
}
3.ip_hash
- 此时访问的tomcat服务同客户端IP绑定,解决session共享问题,宕机后无法解决session共享问题
upstream www_server_pool {
ip_hash;
server 10.0.0.5;
server 10.0.0.6:80;
server 10.0.0.7:80;
server 10.0.0.8:80 ;
}
4.least_conn
upstream www_server_pool {
least_conn;
server 10.0.0.5;
server 10.0.0.6:80;
server 10.0.0.7:80;
server 10.0.0.8:80 ;