真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Nginx基于nginx-sticky-module模塊如何進(jìn)行會(huì)話保持

這篇文章主要講解了“Nginx基于nginx-sticky-module模塊如何進(jìn)行會(huì)話保持”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Nginx基于nginx-sticky-module模塊如何進(jìn)行會(huì)話保持”吧!

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、新城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為新城等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

sticky介紹

sticky模塊與Ip_hash都是與負(fù)載均衡算法相關(guān),但又有差別,差別是

  1. ip hash,根據(jù)客戶端的IP,將請(qǐng)求分配到不同的服務(wù)器

  2. sticky,根據(jù)服務(wù)器給客戶端的cookie,客戶端再次請(qǐng)求時(shí)會(huì)帶上此cookie,nginx會(huì)把有此cookie的請(qǐng)求轉(zhuǎn)發(fā)到頒發(fā)cookie的服務(wù)器上

sticky原理

Sticky是基于cookie的一種負(fù)載均衡解決方案,通過分發(fā)和識(shí)別cookie,使來自同一個(gè)客戶端的請(qǐng)求落在同一臺(tái)服務(wù)器上,默認(rèn)cookie標(biāo)識(shí)名為route :

  1. 客戶端首次發(fā)起訪問請(qǐng)求,nginx接收后,發(fā)現(xiàn)請(qǐng)求頭沒有cookie,則以輪詢方式將請(qǐng)求分發(fā)給后端服務(wù)器。

  2. 后端服務(wù)器處理完請(qǐng)求,將響應(yīng)數(shù)據(jù)返回給nginx。

  3. 此時(shí)nginx生成帶route的cookie,返回給客戶端。route的值與后端服務(wù)器對(duì)應(yīng),可能是明文,也可能是md5、sha1等Hash值。

  4. 客戶端接收請(qǐng)求,并保存帶route的cookie。

  5. 當(dāng)客戶端下一次發(fā)送請(qǐng)求時(shí),會(huì)帶上route,nginx根據(jù)接收到的cookie中的route值,轉(zhuǎn)發(fā)給對(duì)應(yīng)的后端服務(wù)器。

sticky官網(wǎng)

官方地址:https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/src 下載地址:https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz

注意點(diǎn)

  1. 同一客戶端,如果啟動(dòng)時(shí)同時(shí)發(fā)起多個(gè)請(qǐng)求,有可能落在不同的后端服務(wù)器上。

  2. 由于cookie最初由服務(wù)器端下發(fā),如果客戶端禁用cookie,則cookie不會(huì)生效。

  3. 客戶端可能不帶cookie,Android客戶端發(fā)送請(qǐng)求時(shí),一般不會(huì)帶上所有的cookie,需要明確指定哪些cookie會(huì)帶上。如果希望用sticky做負(fù)載均衡,請(qǐng)對(duì)Android開發(fā)說加上cookie。

  4. cookie名稱不要和業(yè)務(wù)使用的cookie重名。Sticky默認(rèn)的cookie名稱是route,可以改成任何值

  5. 客戶端發(fā)的第一個(gè)請(qǐng)求是不帶cookie的。服務(wù)器下發(fā)的cookie,在客戶端下一次請(qǐng)求時(shí)才能生效。

  6. Nginx sticky模塊不能與ip_hash同時(shí)使用

Nginx安裝Sticky模塊

如果你還沒有部署Nginx,那么就在部署Nginx的時(shí)候進(jìn)行 --add-module 添加上此模塊就行了,我這里是Nginx已經(jīng)安裝過了,需要再把此模塊加載進(jìn)NGINX

1.下載sticky

wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz
tar xf master.tar.gz

#把此模塊放進(jìn)nginx/module目錄下,名稱太長,重命名一下
mkdir /usr/local/nginx/module
mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 /usr/local/nginx/module/nginx-sticky-module

2.重新編譯NGINX下載一個(gè)NGINX后重新解壓,然后看之前NGINX編譯了那些模塊,這里都給加上,在最后加上 --add-module載入sticky模塊

tar xf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./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/run/nginx.pid \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--with-pcre \
--user=nginx \
--group=nginx \
--with-stream \
--with-threads \
--with-file-aio \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--add-module=/usr/local/nginx/module/nginx-sticky-module            #在此載入sticky模塊

#./configure完后進(jìn)行編譯,然后更換 nginx 程序
make 
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cp -rf objs/nginx /usr/local/nginx/sbin/

#最后再 make upgrade 進(jìn)行更新檢測
[root@nginx_proxy02 nginx-1.16.1]# make upgrade
/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
kill -USR2 `cat /usr/local/nginx/run/nginx.pid`
sleep 1
test -f /usr/local/nginx/run/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx/run/nginx.pid.oldbin`

以上就完成了Nginx載入第三方模塊,使用 nginx -V 來查看是否載入成功 Nginx基于nginx-sticky-module模塊如何進(jìn)行會(huì)話保持

3.修改NGINX配置文件修改NGINX配置文件來啟用sticky

upstream backend {
        sticky name=ngx_cookie expires=6h;
        server 192.168.31.240:8080 weight=3 max_fails=3 fail_timeout=10s;
        server 192.168.31.241:8080 weight=3 max_fails=3 fail_timeout=10s;
        server 192.168.31.242:8080 weight=6 max_fails=3 fail_timeout=10s;
        server 192.168.31.243:8080;
        server 192.168.31.244:8080 down;
}
mkdir /usr/local/nginx/ngx_cookie

4.sticky語法解析

指令描述
name設(shè)置記錄cookie的名稱(可自定義),默認(rèn)為route
domain設(shè)置cookie要使用的域名
path設(shè)置cookie作用的URL路徑,默認(rèn)根目錄
expires設(shè)置cookie的生存期
hash值為 index、md5、sha1,對(duì)應(yīng)明文、md5、和sha1,默認(rèn)md5,測試sha1后端服務(wù)器會(huì)變
no_fallback當(dāng)sticky的后端機(jī)器掛了以后,nginx返回502,而不轉(zhuǎn)發(fā)到其他服務(wù)器,不建議設(shè)置
secure設(shè)置啟用安全的cookie,需要HTTPS支持
httponly允許cookie不通過JS泄漏

**5.重啟NGINX **

/usr/local/nginx/sbin/nginx -s reload

測試訪問NGINX

第一次訪問的時(shí)候是沒有Cookie的,訪問完成后NGINX才會(huì)把Cookie包含在返回的數(shù)據(jù)中,在下次請(qǐng)求數(shù)據(jù)的時(shí)候就會(huì)出現(xiàn)Cookie。 所以刷新一下后才能看到Cookie。 Nginx基于nginx-sticky-module模塊如何進(jìn)行會(huì)話保持

感謝各位的閱讀,以上就是“Nginx基于nginx-sticky-module模塊如何進(jìn)行會(huì)話保持”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Nginx基于nginx-sticky-module模塊如何進(jìn)行會(huì)話保持這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


當(dāng)前文章:Nginx基于nginx-sticky-module模塊如何進(jìn)行會(huì)話保持
分享路徑:http://weahome.cn/article/iphjpi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部