亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Nginx配置實現(xiàn)用IP灰度測試(不同用戶ID)

 更新時間:2024年11月27日 10:32:07   作者:sky學(xué)Linux  
本文主要介紹了使用Nginx配置實現(xiàn)基于IP的灰度發(fā)布實驗,以及如何通過不同用戶ID測試灰度發(fā)布,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一.配置Nginx實現(xiàn)用IP測試灰度發(fā)布

實驗要求

要求不同IP的客戶訪問相同代理時,可以看到不同集群主機的內(nèi)容 

環(huán)境準(zhǔn)備

主機名    IP地址    角色
proxy(已存在)    eth1:192.168.99.5/24    代理服務(wù)器
web1(已存在)    eth1:192.168.99.100/24    web服務(wù)器
web2(已存在)    eth1:192.168.99.200/24    web服務(wù)器

創(chuàng)建不同集群,準(zhǔn)備多臺集群主機

通過$remote_addr變量識別不同客戶機

1)為web1搭建nginx虛擬主機

[root@proxy python]# scp /root/lnmp_soft/nginx-1.22.1.tar.gz 192.168.99.100:/root
[root@proxy python]# scp /root/lnmp_soft/nginx-1.22.1.tar.gz 192.168.99.200:/root
[root@web1 ~]# systemctl disable --now httpd    #取消開機自啟,停止httpd服務(wù)
[root@web1 ~]# yum -y install make gcc openssl-devel pcre-devel #安裝基礎(chǔ)依賴包
[root@web1 ~]# tar -xf nginx-1.22.1.tar.gz
[root@web1 ~]# cd nginx-1.22.1/
[root@web1 nginx-1.22.1]# ./configure 
[root@web1 nginx-1.22.1]# make && make install
[root@web1 nginx-1.22.1]# vim /usr/local/nginx/conf/nginx.conf  #默認server listen 80的不要動,直接另外寫一個server
http {    
...
    server {                      #此為新添加的server
        listen       8001;
        server_name  localhost;
        root html8001;
        index index.html;
}
    server {
        listen       80;
        server_name  localhost;
...
[root@web1 nginx-1.22.1]# /usr/local/nginx/sbin/nginx 
[root@web1 nginx-1.22.1]# mkdir /usr/local/nginx/html8001
[root@web1 nginx-1.22.1]# echo web1-nginx-80 > /usr/local/nginx/html/index.html
[root@web1 nginx-1.22.1]# echo web1-nginx-8001 > /usr/local/nginx/html8001/index.html

使用web1測試

[root@web1 nginx-1.22.1]# curl 192.168.99.100
web1-nginx-80
[root@web1 nginx-1.22.1]# curl 192.168.99.100:8001
web1-nginx-8001

2)為web2搭建nginx

[root@web2 ~]# systemctl disable --now httpd
[root@web2 ~]# yum -y install make gcc openssl-devel pcre-devel #安裝基礎(chǔ)依賴包
[root@web2 ~]# tar -xf nginx-1.22.1.tar.gz
[root@web2 ~]# cd nginx-1.22.1/
[root@web2 nginx-1.22.1]# ./configure 
[root@web2 nginx-1.22.1]# make && make install
[root@web2 nginx-1.22.1]# /usr/local/nginx/sbin/nginx 
[root@web2 nginx-1.22.1]# echo web2-nginx-80 > /usr/local/nginx/html/index.html

3)使用proxy主機在nginx配置中創(chuàng)建集群

[root@proxy python]# killall uwsgi      #停止uwsgi
[root@proxy python]# cd /usr/local/nginx
[root@proxy nginx]# cp conf/nginx.conf.default conf/nginx.conf  #恢復(fù)配置文件
[root@proxy nginx]# vim conf/nginx.conf
http {    
...
    upstream default {              #正常業(yè)務(wù)集群
        server 192.168.99.100:80;
        server 192.168.99.200:80;
    }
    upstream s8001 {
        server 192.168.99.100:8001;   #新版本業(yè)務(wù)集群1
    }
    server {
        listen       80;
        server_name  localhost;
        set $group "default";       #自己定義變量$group,值為default,訪問default集群
        if ($remote_addr ~ "192.168.99.1"){  #如果客戶機ip是包含192.168.99.1就訪問新版本業(yè)務(wù)集群1,$remote_addr為nginx的內(nèi)置變量,代表訪問者的ip
             set $group s8001;  #變量重新賦值
        }
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://$group;       #調(diào)用集群
            root   html;
            index  index.html index.htm;
        }
...
[root@proxy nginx]# /usr/local/nginx/sbin/nginx -s reload

使用proxy測試

[root@proxy ~]# curl 192.168.99.5   #顯示正常業(yè)務(wù)集群
web1-nginx-80
[root@proxy ~]# curl 192.168.99.5   #顯示正常業(yè)務(wù)集群
web2-nginx-80

web1訪問proxy

[root@web1 ~]# curl 192.168.99.5    #顯示新版本業(yè)務(wù)集群1
web1-nginx-8001

二、通過不同用戶ID測試灰度發(fā)布

實驗要求

不同ID的客戶訪問相同代理時,可以看到不同集群主機的內(nèi)容

部署LNPM環(huán)境(已操作)

proxy主機部署LNMP服務(wù)器相關(guān)軟件(前面已經(jīng)安裝過,在此不在重復(fù)安裝)

1)proxy主機修改Nginx配置文件(修改默認首頁與動靜分離)

[root@proxy ~]# cd /usr/local/nginx
[root@proxy nginx]# cp conf/nginx.conf.default conf/nginx.conf  #恢復(fù)配置文件
[root@proxy nginx]# vim /usr/local/nginx/conf/nginx.conf
...
 location  ~  \.php$  {
            root           html;
            fastcgi_pass  unix:/run/php-fpm/www.sock;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }
...        

php-fpm的配置文件之前已經(jīng)修改好,此時不用修改

啟動LNMP服務(wù)器相關(guān)的服務(wù)

1)重新加載Nginx服務(wù)

[root@proxy nginx]# /usr/local/nginx/sbin/nginx -s reload
[root@proxy nginx]# ss -antlp | grep :80   

2)啟動MySQL服務(wù)(已經(jīng)啟動則不需要執(zhí)行)

[root@proxy nginx]# systemctl start mariadb
[root@proxy nginx]# systemctl status mariadb

3)啟動PHP-FPM服務(wù)(已經(jīng)啟動則不需要執(zhí)行)

[root@proxy nginx]# systemctl start  php-fpm
[root@proxy nginx]# systemctl status php-fpm
[root@proxy nginx]# cp /root/lnmp_soft/php_scripts/test.php /usr/local/nginx/html/
[root@proxy nginx]# curl 192.168.99.5/test.php      #測試動態(tài)頁面
<html>
<body>
This is HTML message
</br>
c is bigger</body>
</html>

4) 配置好lnmp之后,拷貝帶登錄效果的測試頁面

[root@proxy nginx]# cd /root/lnmp_soft/php_scripts/
[root@proxy nginx]# tar -xf php-session-demo.tar.gz    #釋放帶登錄功能的網(wǎng)頁
[root@proxy nginx]# cp -r php-session-demo/* /usr/local/nginx/html/   #拷貝頁面到nginx中

使用瀏覽器訪問192.168.99.5/index.php  可以看到有登錄界面的網(wǎng)頁

如果想要訪問此網(wǎng)站時直接輸入http://192.168.99.5就能訪問到這個登錄頁面,可以更改以下配置實現(xiàn)

[root@proxy nginx]# vim /usr/local/nginx/conf/nginx.conf
server {
   listen 80;
   
   location / {
      root html;
      index index.php index.html index.htm;     #新添加index.php
   }

...
 location  ~  \.php$  {
            root           html;
            fastcgi_pass  unix:/run/php-fpm/www.sock;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }
...  
[root@proxy nginx]# /usr/local/nginx/sbin/nginx -s reload

直接輸入http://192.168.99.5就能訪問到登錄頁面,輸入任意用戶名和密碼登錄測試即可

注:這里index.php是登錄前頁面 ,home.php是登錄后才能看的頁面

修改home.php頁面

1)修改home.php頁面

[root@proxy php_scripts]# vim /usr/local/nginx/html/home.php        #修改php頁面,將原有Welcome那行修改成以下狀態(tài)
Welcome :  <?php
if(preg_match("/^abc/",$_SESSION['login_user'])) {      #preg_match匹配正則,如果登錄賬號是以abc開頭,就連接99.100,否則連接99.200
echo "<a ;
}
else
{
echo "<a ;
}
?>

2)測試

瀏覽器訪問192.168.99.5/index.php分別輸入不同名稱的賬戶,可以看到"開始"連接的是不同的地址

三、通過不同用戶ID測試灰度發(fā)布

實驗要求
不同ID的客戶訪問相同代理時,可以看到不同集群主機的內(nèi)容
部署LNPM環(huán)境(已操作)
proxy主機部署LNMP服務(wù)器相關(guān)軟件(前面已經(jīng)安裝過,在此不在重復(fù)安裝)

1)proxy主機修改Nginx配置文件(修改默認首頁與動靜分離)

[root@proxy ~]# cd /usr/local/nginx
[root@proxy nginx]# cp conf/nginx.conf.default conf/nginx.conf  #恢復(fù)配置文件
[root@proxy nginx]# vim /usr/local/nginx/conf/nginx.conf
...
 location  ~  \.php$  {
            root           html;
            fastcgi_pass  unix:/run/php-fpm/www.sock;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }
...        

php-fpm的配置文件之前已經(jīng)修改好,此時不用修改
啟動LNMP服務(wù)器相關(guān)的服務(wù)

1)重新加載Nginx服務(wù)

[root@proxy nginx]# /usr/local/nginx/sbin/nginx -s reload
[root@proxy nginx]# ss -antlp | grep :80   

2)啟動MySQL服務(wù)(已經(jīng)啟動則不需要執(zhí)行)

[root@proxy nginx]# systemctl start mariadb
[root@proxy nginx]# systemctl status mariadb

3)啟動PHP-FPM服務(wù)(已經(jīng)啟動則不需要執(zhí)行)

[root@proxy nginx]# systemctl start  php-fpm
[root@proxy nginx]# systemctl status php-fpm
[root@proxy nginx]# cp /root/lnmp_soft/php_scripts/test.php /usr/local/nginx/html/
[root@proxy nginx]# curl 192.168.99.5/test.php      #測試動態(tài)頁面
<html>
<body>
This is HTML message
</br>
c is bigger</body>
</html>

到此這篇關(guān)于Nginx配置實現(xiàn)用IP灰度測試(不同用戶ID)的文章就介紹到這了,更多相關(guān)Nginx IP灰度測試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx配置文件nginx.conf的基本配置實例詳解

    Nginx配置文件nginx.conf的基本配置實例詳解

    Nginx(engine x)是一個輕量級的高性能的HTTP和反向代理web服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于Nginx配置文件nginx.conf基本配置的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Nginx實現(xiàn)https網(wǎng)站配置代碼實例

    Nginx實現(xiàn)https網(wǎng)站配置代碼實例

    這篇文章主要介紹了Nginx實現(xiàn)https網(wǎng)站配置代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Nginx隱藏服務(wù)器端各類信息的方法

    Nginx隱藏服務(wù)器端各類信息的方法

    這篇文章主要介紹了Nginx隱藏服務(wù)器端各類信息的方法,包括隱藏HTTP頭信息和PHP版本號等等,需要的朋友可以參考下
    2015-07-07
  • Nginx+PHP(FastCGI)搭建高并發(fā)WEB服務(wù)器(自動安裝腳本)第二版

    Nginx+PHP(FastCGI)搭建高并發(fā)WEB服務(wù)器(自動安裝腳本)第二版

    Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建勝過Apache十倍的Web服務(wù)器(第5版) 編寫
    2011-04-04
  • Nginx下Wordpress的永久鏈接實現(xiàn)(301,404等)

    Nginx下Wordpress的永久鏈接實現(xiàn)(301,404等)

    經(jīng)過多番測試,終于在nginx下實現(xiàn)了rewrite的功能,WrodPress的永久鏈接終于生效了
    2012-09-09
  • 通過nginx實現(xiàn)訪問服務(wù)器指定目錄下圖片資源

    通過nginx實現(xiàn)訪問服務(wù)器指定目錄下圖片資源

    這篇文章為大家詳細主要介紹了如何通過nginx實現(xiàn)訪問服務(wù)器指定目錄下圖片資源,文中通過圖文進行了詳細的講解,有需要的小伙伴可以了解下
    2023-10-10
  • 部署Kibana及nginx代理訪問環(huán)境方式

    部署Kibana及nginx代理訪問環(huán)境方式

    在elk-node03節(jié)點上部署Kibana并使用Nginx進行代理訪問和權(quán)限控制,配置多個端口的Kibana,每個系統(tǒng)單獨開一個端口,并通過Nginx做代理訪問配置,每個系統(tǒng)的業(yè)務(wù)日志在對應(yīng)的端口Kibana界面展示,配置Nginx反向代理及訪問驗證,包括設(shè)置虛擬主機和驗證文件
    2024-11-11
  • nginx 解決跨域問題嵌入第三方頁面

    nginx 解決跨域問題嵌入第三方頁面

    本文主要介紹了nginx 解決跨域問題嵌入第三方頁面,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • nginx中http-sysguard模塊

    nginx中http-sysguard模塊

    本文主要介紹了nginx中http-sysguard模塊,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Nginx內(nèi)網(wǎng)環(huán)境開啟https雙協(xié)議的實現(xiàn)

    Nginx內(nèi)網(wǎng)環(huán)境開啟https雙協(xié)議的實現(xiàn)

    本文主要介紹了Nginx內(nèi)網(wǎng)環(huán)境開啟https雙協(xié)議,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02

最新評論