php+nginx負載均衡實現(2臺虛擬機)

第一步:慣例先準備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者之間返回。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章