集群配置流程:
一、克隆2台CentOS虚拟机,并安装jdk+tomcat
二、安装1台CentOS虚拟机,并安装nginx(过程参见nginx安装流程.png)
nginx的默认安装位置:/usr/local/nginx
0 cd /usr/local/nginx/sbin
1 启动nginx:
./nginx 使用默认配置文件(/usr/local/nginx/conf/nginx.conf)
或
./nginx -c /x/xx/xxx/nginx.conf
2 测试
http://ip:80 或 http://ip (nginx的默认端口80)
3 关闭
./nginx -s stop
4 重启
./nginx -s reload
5 查看线程
ps -ef | grep nginx (查询主进程号)
kill -9 主进程号 (强制关闭)
三、配置集群环境
1 修改nginx的配置文件(默认位置:/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;
}
2> 配置反向代理
在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;
}
2 启动所有tomcat节点,启动nginx,测试
四、负载均衡的解决方案:
1 默认:轮循
upstream tomcat-servers {
server 192.168.1.103:8080;
server 192.168.1.104:8080;
}
2 iphash:基于ip
upstream tomcat-servers {
ip_hash;
server 192.168.1.103:8080;
server 192.168.1.104:8080;
}
3 weight:权重轮询
upstream tomcat-servers {
server 192.168.1.103:8080 weight=1;
server 192.168.1.104:8080 weight=2;
}
4 最小连接数
upstream tomcat-servers {
least_conn;
server 192.168.1.103:8080;
server 192.168.1.104:8080;
}
