第一步:慣例先準備2臺虛擬機
準備工作:
虛擬機1:192.168.1.160 (主服務器)
虛擬機2:192.168.1.161(副服務器)
使用async 同步兩臺服務器的項目目錄 保持代碼一致
第二步-在主服務器中配置nginx.conf文件
upstream 192.168.1.160 {
server 192.168.1.161:80 weight=2;
server 192.168.1.160:808 weight=3;
}
server {
listen 80;
server_name 192.168.1.160;
root /home/wwwroot/test;
location / {
proxy_pass http://192.168.1.160;
index index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
//再配置多一個vhost
server
{
listen 808;
server_name 192.168.1.160;
index index.html index.htm index.php;
root /home/wwwroot/test;
}
第三步-在副服務器中配置nginx.conf
server
{
listen 80;
server_name 192.168.1.160;
index index.html index.htm index.php;
root /home/wwwroot/test;
}
第四步 2臺服務器分別 nginx -s reload 重啓nginx
第五步 訪問瀏覽器 192.168.1.160
訪問多幾次 結果如下
代碼裏直接打印了$_SERVER 截取部分返回內容
1.第一次訪問
array(36) {
["SERVER_PORT"]=>
string(2) "80"
["SERVER_ADDR"]=>
string(13) "192.168.1.161"
2、第二次訪問
array(36) {
["SERVER_PORT"]=>
string(3) "808"
["SERVER_ADDR"]=>
string(13) "192.168.1.160"
3.第三次訪問
array(36) {
["SERVER_PORT"]=>
string(2) "80"
["SERVER_ADDR"]=>
string(13) "192.168.1.161"
從中得知每次訪問 都是從 192.168.1.161的80端口 和 192.168.1.160的808端口 2者之間返回。