欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:運維 Nginx+uWSGI

柚子快報邀請碼778899分享:運維 Nginx+uWSGI

http://yzkb.51969.com/

uWSGI

uWSGI是一個Wed服務(wù)器

主要用途是將Wed應(yīng)用程序部署到生產(chǎn)環(huán)境中

可以用來連接Nginx服務(wù)與Python動態(tài)網(wǎng)站

案例1:部署Python網(wǎng)站項目

1.1 問題

配置Nginx使其可以將動態(tài)訪問轉(zhuǎn)交給uWSGI:

1.2 方案

安裝Python工具及依賴

安裝uWSGI并編寫配置文件

1.3 步驟

實現(xiàn)此案例需要按照如下步驟進行。

步驟一:

首先$教學(xué)資料目錄/python拷貝到虛擬機

1)安裝python依賴軟件

[root@proxy ~]# yum -y install gcc make python3 python3-devel

#安裝gcc、make、python3、python3-devel四個包

2)安裝項目依賴

[root@proxy python]# pip3 install pytz-2022.6-py2.py3-none-any.whl

[root@proxy python]# pip3 install Django-1.11.8-py2.py3-none-any.whl

[root@proxy python]# pip3 install django-bootstrap3-11.0.0.tar.gz

3)測試項目

[root@proxy python]# tar -xf python-project-demo.tar.gz

[root@proxy python]# cd python-project-demo/

[root@proxy python-project-demo]# python3 manage.py runserver 0.0.0.0:8000

之后可在瀏覽器訪問192.168.99.5:8000,測試完畢后按ctrl + c

注意:測試時如果無法連接外網(wǎng),可能需要將python-project-demo/learning_logs/templates/base.html文件中的特效注釋

步驟二:

1)安裝uWSGI

[root@proxy python-project-demo]# cd ..

[root@proxy python]# pip3 install uWSGI-2.0.21.tar.gz

[root@proxy python]# vim myproject.ini

[uwsgi]

socket=127.0.0.1:8000 #與web服務(wù)(nginx)通信的接口

chdir=/root/python/python-project-demo #項目的工作目錄

wsgi-file=learning_log/wsgi.py #指定項目中的wsgi.py配置文件

daemonize=/var/log/uwsgi.log #指定日志文件位置

#processes=4 #指定啟動進程的數(shù)目

#master=true #開啟主進程管理模式

2)運行uWSGI

[root@proxy python]# uwsgi --ini myproject.ini #讀取myproject.ini運行uWSGI

3)修改nginx配置文件,添加uWSGI轉(zhuǎn)發(fā)

[root@proxy python]# vim /usr/local/nginx/conf/nginx.conf

...

location / {

uwsgi_pass 127.0.0.1:8000; #動態(tài)頁面交給uWSGI

include uwsgi_params; #調(diào)用uWSGI配置文件

root html;

index index.html index.htm;

}

...

[root@proxy python]# /usr/local/nginx/sbin/nginx

測試

使用瀏覽器訪問192.168.99.5

灰度發(fā)布

灰度發(fā)布是使用比較平穩(wěn)的過度方式升級或者替換產(chǎn)品項目的方法統(tǒng)稱

主要作用

及時發(fā)現(xiàn)項目問題盡早獲取用戶反饋信息,以改進產(chǎn)品如果項目產(chǎn)生問題,可以將問題影響控制到最小范圍

案例2:配置Nginx實現(xiàn)用IP測試灰度發(fā)布

2.1 問題

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

2.2 方案

創(chuàng)建不同集群,準(zhǔn)備多臺集群主機,通過$remote_addr變量識別不同客戶機

2.3 步驟

實現(xiàn)此案例需要按照如下步驟進行。

步驟一:

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

[root@proxy nginx]# vim /usr/local/nginx/conf/nginx.conf

http {

...

upstream s8001 { #測試集群1

server 192.168.99.100:8001;

}

upstream s8002 { #測試集群2

server 192.168.99.200:8002;

}

upstream default { #正常業(yè)務(wù)集群

server 192.168.99.100:80;

server 192.168.99.200:80;

}

server {

listen 80;

server_name localhost;

...

set $group "default"; #定義變量$group,默認(rèn)值default

if ($remote_addr ~ "192.168.99.1"){ #如果客戶機ip是99.1就訪問集群1

set $group s8001;

}

if ($remote_addr ~ "192.168.99.2"){ #如果客戶機ip是99.2就訪問集群1

set $group s8002;

}

location / {

proxy_pass http://$group; #調(diào)用集群

root html;

index index.html index.htm;

}

...

}

[root@proxy nginx]# sbin/nginx -s reload

為web1新建nginx虛擬主機

[root@web1 nginx]# vim /usr/local/nginx/conf/nginx.conf

http {

...

server {

listen 8001;

server_name localhost;

root html8001;

index index.html;

}

...

}

[root@proxy nginx]# sbin/nginx -s reload

[root@web1 nginx]# mkdir html8001

[root@web1 nginx]# echo web1-8001 > html8001/index.html

為web2新建nginx虛擬主機

[root@web2 nginx]# vim /usr/local/nginx/conf/nginx.conf

http {

...

server {

listen 8002;

server_name localhost;

root html8002;

index index.html;

}

...

}

[root@proxy nginx]# sbin/nginx -s reload

[root@web2 nginx]# mkdir html8002

[root@web2 nginx]# echo web1-8002 > html8002/index.html

2)測試

192.168.99.1訪問192.168.99.5

192.168.99.2訪問192.168.99.5

其他ip訪問192.168.99.5

案例3:通過不同用戶ID測試灰度發(fā)布

3.1 問題

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

3.2 方案

使用php頁面,定義不同匹配語句

3.3 步驟

實現(xiàn)此案例需要按照如下步驟進行。

步驟一:

1)使用proxy主機,要先還原nginx,并配置可以解析動態(tài)網(wǎng)頁

[root@proxy nginx]# vim html/home.php #修改php頁面,將原有Welcome那行修改成以下狀態(tài)

Welcome :

if(preg_match("/^abc/",$_SESSION['login_user'])) { #preg_match匹配正則,如果登錄賬號是以abc開頭,就連接99.100,否則連接99.200

echo "

限流限速

使用場景

--需要共享的文件數(shù)量較大較多

--服務(wù)器自身帶寬有限

--頻繁遭受黑客攻擊

--業(yè)務(wù)利益最大化

案例4:配置網(wǎng)站限流限速

4.1 問題

本案例要求配置nginx限流限速,效果如下:

使用Nginx配置全局限速100k配置虛擬主機www.b.com限速200k,該網(wǎng)站根目錄下的file_a目錄中的所有數(shù)據(jù)限速300k,file_b目錄中的所有數(shù)據(jù)不限速

4.2 方案

使用limit_rate指令限制速度

4.3 步驟

實現(xiàn)此案例需要按照如下步驟進行。

步驟一:

1)定義limit_rate限制

[root@web1 nginx]# vim /usr/local/nginx/conf/nginx.conf

http {

...

limit_rate 100k; #全局限速

server {

limit_rate 200k; #虛擬主機限速

listen 80;

server_name www.b.com;

root html;

index index.html;

location /file_a {

limit_rate 300k; #file_a目錄限速300k

}

location /file_b {

limit_rate 0k; #file_b目錄不限速

}

}

2)創(chuàng)建測試目錄

[root@web1 nginx]# mkdir html/file_a

[root@web1 nginx]# mkdir html/file_b

3)創(chuàng)建測試文件

[root@web1 nginx]# dd if=/dev/zero of=html/test.img bs=100M count=1

[root@web1 nginx]# dd if=/dev/zero of=html/file_a/test.img bs=100M count=1

[root@web1 nginx]# dd if=/dev/zero of=html/file_b/test.img bs=100M count=1

下載測試

wget www.a.com/test.img

wget www.b.com/test.img

wget www.b.com/file_a/test.img

wget www.b.com/file_b/test.img

連接限制(非必須配置)

修改用戶訪問連接限制,使一個客戶同時打開多個連接也無法突破限制

首先安裝ngx_http_limit_conn_module模塊

http {

limit_conn_zone $binary_remote_addr zone=addr:10m;

server {

location /app {

limit_rate 30k;

limit_conn addr 1 ;

}

5 防盜鏈

valid_referers指令可以檢測被訪問資源從哪個地址來

1)修改配置,添加防盜鏈測試語句

[root@web1 nginx]# vim /usr/local/nginx/conf/nginx.conf

server {

...

valid_referers none 192.168.99.100; #如果請求中的referer 頭字段包含者地址是99.100或者沒有referer 頭字段則有效,

if ($invalid_referer){ #如果上述測試無效則條件成立

return 403; #返回錯誤提示

}

...

}

2)web1編寫測試頁面

[root@web1 nginx]# cat html/index.html

web1

測試頁面 --

內(nèi)容

[root@web1 nginx]# cat html/nr.html

web1內(nèi)容頁面

3)web2編寫測試頁面

[root@web2 nginx]# cat html/index.html

web2

測試頁面 --

內(nèi)容

4)測試,從192.168.99.100主頁點內(nèi)容可以訪問,但從99.200點不可以

柚子快報邀請碼778899分享:運維 Nginx+uWSGI

http://yzkb.51969.com/

相關(guān)鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18881283.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄