nginx添加fair模塊

記錄一下nginx添加fair負載均衡的功能
上一章中已經採用編譯的方式安裝了nginx,並添加了ssl模塊
1.下載地址:nginx-upstream-fair

解壓:

unzip nginx-upstream-fair-master.zip
本人是上傳到/home/emeet/目錄下
2.切換到nginx-1.13.2目錄下執行

sudo ./configure --prefix=/usr/local/nginx  --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/logs/nginx.pid  --add-module=/home/emeet/nginx-upstream-fair-master  --with-http_ssl_module

目錄一定和本地文件對應好,此處還有一坑是之前添加的ssl模塊,添加fair的時候要重新加入,不然會被覆蓋掉,本人測試是這樣,如果之前有加入其它模塊也要同時加入。

此步驟可能出現異常:

nginx-upstream-fair/ngx_http_upstream_fair_module.c:543:28: error: ‘ngx_http_upstream_srv_conf_t’ has no member named ‘default_port’
if (us->port == 0 && us->default_port == 0) {

解決辦法是:
參考:http://www.mamicode.com/info-detail-89267.html
到nginx的src/http/ngx_http_upstream.h文件找到ngx_http_upstream_srv_conf_s結構添加in_port_t default_port;
在這裏插入圖片描述重新執行一遍上一步驟,沒有錯誤之後,執行

sudo make

不要執行make install,會覆蓋安裝。

最後複製Nginx文件:
複製之前先備份舊的nginx程序

cp /usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.bak

然後複製
sudo cp objs/nginx /usr/local/nginx/nginx

如果提示“cp:cannot create regular file/usr/local/nginx/sbin/nginx’: Text file busy”`

建議使用如下語句cp

sudo cp -rfp objs/nginx /usr/local/nginx/sbin/nginx

如圖,在nginx.conf中添加fair負載
在這裏插入圖片描述
使用 sudo /usr/local/nginx/sbin/nginx -t 檢查是否正確。
reload 即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章