參考文章:
負載均衡原理圖:
硬件配置:
nginx服務器:192.168.88.132:80
tomcat服務器:192.168.88.132:8080
tomcat服務器:192.168.88.133:8081
1. 編寫測試頁面
分別在兩臺tomcat服務器webapps/login/下編寫測試用的靜態頁面
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=gb2312" />
</head>
<body>
<h1>您正在訪問:192.168.88.xxx</h1>
</body>
</html>
2. 配置nginx
- nginx基本配置
server{
listen 8088; #端口號
server_name 192.168.88.132; #服務名,也就是我們瀏覽器訪問的地址
}
- 負載均衡列表基本配置
#服務器集群
upstream mycluster{
#這里添加的是上面啟動好的兩臺Tomcat服務器
server 192.168.88.132:8080 weight=1; #權重,根據服務器配置來定,權重越大機率越大
server 192.168.88.133:8081 weight=1;
}
location /{
#將訪問請求轉向至服務器集群,mycluster和上面upstream mycluster 對應
proxy_pass http://mycluster; #要對應服務器集群配置的名字
# 真實的客戶端IP
proxy_set_header X-Real-IP $remote_addr;
# 請求頭中Host信息
proxy_set_header Host $host;
# 代理路由信息,此處取IP有安全隱患
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 真實的用戶訪問協議
proxy_set_header X-Forwarded-Proto $scheme;
}
- 完整配置文件
user nobody;
#工作進程個數,一般跟服務器cpu核數相等,或者核數的兩倍
worker_processes 2;
#單個進程最大連接數
events{
worker_connections 1024;
}
http{
keepalive_timeout 65;
gzip on;
#服務器集群
upstream mycluster{
#集群有幾臺服務器即可配置幾臺,weight表示權重,權重越大被訪問到的幾率越大
#這里添加的是上面啟動好的兩臺Tomcat服務器
server 192.168.88.132:8080 weight=1;
server 192.168.88.133:8081 weight=1;
}
#nginx基本配置
server{
listen 80; #端口號
server_name 192.168.88.132; #服務名
location /{
#將訪問請求轉向至服務器集群,mycluster和上面upstream mycluster 對應
proxy_pass http://mycluster;
# 真實的客戶端IP
proxy_set_header X-Real-IP $remote_addr;
# 請求頭中Host信息
proxy_set_header Host $host;
# 代理路由信息,此處取IP有安全隱患
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 真實的用戶訪問協議
proxy_set_header X-Forwarded-Proto $scheme;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}