Nginx+Tomcat集群配置
一台虚拟机作为Nginx服务
两太虚拟机配置Tomcat+jdk环境
Nginx测试
启动:
cd usr/local/nginx/sbin
./nginx --->该启动默认使用(/usr/local/nginx/conf/nginx.conf)的配置文件
#如果要指定自己的配置文件路径
./nginx -c /x/xx/xxx/nginx.conf
检测配置文件是否正确:/xx/sbin/nginx -t
浏览器测试:http://ip:80 或 http://ip (nginx的默认端口80)
关闭:./nginx -s stop
重新载入配置文件:/xx/sbin/nginx -s reload
重启Nginx:/xx/sbin/nginx -s reopen
查看线程
ps -ef | grep nginx (查询主进程号)
kill -9 主进程号 (强制关闭)
配置集群环境
修改配置文件
/usr/local/nginx/conf/nginx.conf
1)配置Tomcat集群节点
在http节点内部,server节点外部添加以下内容
upstream tomcat-servers {
server 192.168.1.103:8080;
server 192.168.1.104:8080;
}
#反向代理
在server节点内部:
location / {
proxy_pass http://tomcat-servers;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
}
启动所有tomcat节点,启动nginx,测试
负载均衡解决方案:
1)轮询,该方式是默认的
upstream tomcat-servers {
server 192.168.1.103:8080;
server 192.168.1.104:8080;
}
2)iphash,可以有效的解决session问题
该方案将用户IP地址与第一次访问到达的真正服务器做了绑定,session不会丢失
upstream tomcat-servers {
ip_hash;
server 192.168.1.103:8080;
server 192.168.1.104:8080;
}
3)weight:权重轮询,以下方案访问服务器时以1:2比例访问
upstream tomcat-servers {
server 192.168.1.103:8080 weight=1;
server 192.168.1.104:8080 weight=2;
}