# 前言
> * 想做這個Nginx負載均衡已經很久了,從13年畢業開始到今天2017-01-16 11:36:06
>
>
> * 期間經過的過程是坎坷的,有很多不確定的因素存在
>
>
> * 前期的沉淀也是一個問題,畢竟剛出學校,對于互聯網這個世界來講,我還是小牛犢,或許也是因為自己懶而已,有些東西實戰過才知道
## [](http://blog.0796z.com/post/101.html#知識的珍貴程度)知識的珍貴程度
~~~
聽過?->?demo過?->?實際工作用過?->?實際工作被坑過?->?實際工作中被坑過很多次或深入研究總結過
~~~
# [](http://blog.0796z.com/post/101.html#正題)正題
~~~
問:如何搭建集群測試環境
答:請百度了解docker,基于docker可以快速構建出眾多服務集群環境
~~~
有了測試環境,其實配置很簡單 配置如下:
```
#?06.zxzc.co.conf?配置文件
#?Nginx負載均衡配置
upstream?phpfastcgi{????????
server?phpfpm_server_01:9000?weight=1;????????
server?phpfpm_server_02:9000?weight=1;????????
server?phpfpm_server_03:9000?weight=1;
}????
server?{ #?監聽端口
listen??????????80; #?域名
server_name?????06.zxzc.co; #?主目錄
root????????? /disk_data/www/06.zxzc.co; #?默認頁面
index???????????index.php?index.html?index.htm; #?ETag模式開啟?提高訪問速度
etag?on; #?PHP腳本運行支持
location?~?\.php$?{ #?監聽路徑
fastcgi_pass????????phpfastcgi; #?默認頁面
fastcgi_index???????index.php; #?參數
fastcgi_param???????SCRIPT_FILENAME?$document_root$fastcgi_script_name; #?腳本參數
include?????????????fastcgi_params; #?Nginx開放跨域訪問
proxy_set_header?Access-Control-Allow-Origin?$http_origin;
add_header?'Access-Control-Allow-Origin'?$http_origin;
add_header?'Access-Control-Allow-Headers'?'X-Requested-With,?Content-Type';
add_header?'Access-Control-Allow-Credentials'?'true';
add_header?'Access-Control-Allow-Methods'?'POST,?GET,?OPTIONS';
}
}
```
#### [](http://blog.0796z.com/post/101.html#重新運行下docker-composeyml)重新運行下docker-compose.yml
#### [](http://blog.0796z.com/post/101.html#這是docker環境啟動配置文件可以把你想啟動的服務都在這里寫好配置)(這是docker環境啟動配置文件,可以把你想啟動的服務都在這里寫好配置)
然后我們看下docker環境中容器的ID,再在php文件中我們打印出$_SERVER,觀察hostname的信息?
#### [](http://blog.0796z.com/post/101.html#刷新了3次依次命中后端服務器當然如果有其中一臺掛了也會跳過這臺)刷新了3次,依次命中后端服務器,當然如果有其中一臺掛了,也會跳過這臺
當前Nginx的負載均衡算法是根據weight來優先計算的,還有等等很多算法具體可以參考官方網站的documents
- 前端
- 技巧匯總
- 構建 Node + Webpack + React 熱加載開發環境
- React
- Redux
- Webpack
- ES6
- HTML5+CSS3
- Javascript
- JS超簡潔拖動代碼
- jQuery
- 后端
- 技巧匯總
- 代碼中特殊的注釋技術——TODO、FIXME和XXX的用處
- PHP
- Xdebug不解之謎
- PHP時間獲取
- PHP遞歸優化 使用匿名函數進行遞歸
- PHP 發起POST請求
- PHP獲得數組的交集與差集
- PHP遞歸獲取下級數組,可指定ID,一維數組
- PHP 判斷是否為Get/Post/Ajax提交
- PHP實現分流隊列平均顯示信息
- PHP多維數組 指定列排序
- PHP 類Class詳解 筆記記錄
- PHP取整函數詳解
- Node
- Elasticsearch
- 數據庫
- 技巧匯總
- Mysql
- Mysql分區表實現
- Mysql union與union all 查詢
- Mysql 表中表查詢
- Mysql 分組查詢 與 分組條件查詢
- MySQL 添加列,修改列,刪除列
- Mysql優化之:構建海量表,定位慢查詢
- Mysql優化之:表的設計滿足3NF
- Mysql優化常見方法
- Mysql存儲過程詳解
- 運維
- 技巧匯總
- Linux
- Linux Centos系統下 設置代理服務器上網
- Centos7增加開機啟動腳本
- centos 掛載windows共享目錄
- CentOS設置SSH Key登錄
- Linux/CentOS單網卡綁定多個IP
- Windows
- Win10開機啟動項設置全解攻略
- PuTTY連接Linux服務器經常斷線解決方案
- Docker
- Docke啟動文件 docker-compose.yml
- Docker命令簡介(未完)
- Docker閑雜筆記
- Apache
- Nginx
- Nginx配置upstream實現負載均衡
- Nginx負載均衡學習
- IDE
- 技巧匯總
- WebStorm
- PHPStorm
- 協作
- 技巧匯總
- Git
- git 放棄本地修改 強制更新
- git編譯安裝與常用命令
- Svn