nginx怎么轮询两台php,Nginx 配置轮询分流-实现负载均衡【测试通过】
做php2年多了,一直覺得這個玩意很高深,最近總想去了解下。今天抽時間,弄了感覺這個東西沒有想象的那么難弄。簡單的實現,確實非常容易,但是足可以實現負載均衡分布的功能了。今天就給大家分享下,也算是一個小記錄吧!
準備工作,3臺服務器,或者開虛擬機吧!我就是開虛擬機實現的。
ip分別為:192.168.1.10? 192.168.1.11? 192.168.1.12? (環境:安裝了ngixn 沒有做任何配置)
3臺服務器環境最好一樣,我是再vm里直接克隆出來的,環境絕對一樣吧!不一樣,我估計會遇到很多奇怪的問題,沒試過。
192.168.1.10? 作為? 負載均衡服務器? (一會負載均衡就在這里臺服務器做配置,另外2臺不用做配置)
先了解下負載一些常見知識
nginx 的 upstream目前支持 4 種方式的分配
1)、輪詢(默認)
每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。
2)、weight
指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。
2)、ip_hash
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。
3)、fair(第三方)
按后端服務器的響應時間來分配請求,響應時間短的優先分配。
4)、url_hash(第三方)
可以開始配置了。打開192.168.1.10 的nginx.conf? 只需要在配置文件增加如下代碼
upstream? www.linuxidc.com? {
server? 192.168.1.11:80;
server? 192.168.1.12:80;
}
server {
listen 80;
server_name www.88181.com;
location / {
proxy_pass? ? ? ? http://www.88181.com;
proxy_set_header? Host? ? ? ? ? ? $host;
proxy_set_header? X-Real-IP? ? ? ? $remote_addr;
proxy_set_header? X-Forwarded-For? $proxy_add_x_forwarded_for;
}
access_log logs/access_log;
error_log logs/error_log;
}
實踐結果:
http://www.88181.com? 我通過修改host 指向了? 192.168.1.10
為了使測試結果明顯,我修改了ngixn默認頁面的html
vi /usr/local/nginx/html/index.html
再index.html 加入顯示本機ip
192.168.1.11 和? 192.168.1.12? 都要修改,這樣測才明顯
我通過本機瀏覽器,輸入 http://www.88181.com
每次刷新,都會跳轉到不同的服務器上頁面(當然我這個是為了明顯所以用的是輪詢的方式,大家可以根據自己需求進行修改)
總結
以上是生活随笔為你收集整理的nginx怎么轮询两台php,Nginx 配置轮询分流-实现负载均衡【测试通过】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php实现微信清粉功能,PHP实现微信提
- 下一篇: java在网页填写集数据,java网页数