nginx配置方式(反向代理、限速、url重寫)
nginx反向代理
- 正向代理:代理用戶上網(wǎng),當多個用戶訪問一個網(wǎng)站時,服務(wù)器只需要緩存一份即可
- 反向代理:代理服務(wù)器,以虛擬主機方式,一個ip對應(yīng)多個主機
- 應(yīng)用場景:堡壘機場景,內(nèi)網(wǎng)服務(wù)器發(fā)布場景,緩存場景
- CDN緩存服務(wù)器:緩存靜態(tài)數(shù)據(jù),動態(tài)請求由緩存服務(wù)器當代理服務(wù)器向業(yè)務(wù)服務(wù)器拿,減小業(yè)務(wù)服務(wù)器壓力
代理服務(wù)器實現(xiàn)
location / {
proxy_pass http://139.199.32.236:8080
}使用proxy_pass字段,后面是業(yè)務(wù)服務(wù)器.
每次訪問服務(wù)器根目錄時,自動找業(yè)務(wù)服務(wù)器獲取數(shù)據(jù)
其他字段

請求頭,業(yè)務(wù)服務(wù)器可以從代理服務(wù)器上看到客戶端信息

nginx限速
保護磁盤IO
限速原理
緩存請求、勻速處理、多余請求直接丟棄
限速實現(xiàn)
limit_req_zone:用來限制單位時間內(nèi)的請求數(shù),即速率限制limit_req_conn:用來限制同一時間連接數(shù),即并發(fā)限制
代碼
1.limit_req_zone 限制請求數(shù)
limit_req_zone限制請求數(shù)(限速)limit_req_conn限制連接數(shù)(訪問數(shù)) 并發(fā)數(shù)


2.限制下載個數(shù)和下載速度
limit_req_zone $binary_remote_addr zone=baism:10m rate=1r/s;
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
listen 80;
server name localhost;
location / {
root html;
index index.html index.htm
}
location /abc {
limit_req zone=baism burst=5 nodelay;
limit_conn addr 1;
limit_rate 100k;
limit_rate_after 100m;
}
}請求數(shù)不能超過1個
下載到100m就會限速到100kb/s
limit_conn_zone;設(shè)置桶limit_conn addr 1;設(shè)置連接數(shù)limit_rate 100k;設(shè)置下載速率
nginx限速
保護磁盤IO
限速原理
緩存請求、勻速處理、多余請求直接丟棄
限速實現(xiàn)
limit_req_zone:用來限制單位時間內(nèi)的請求數(shù),即速率限制limit_req_conn:用來限制同一時間連接數(shù),即并發(fā)限制
代碼
1.limit_req_zone 限制請求數(shù)
limit_req_zone限制請求數(shù)(限速)limit_req_conn限制連接數(shù)(訪問數(shù)) 并發(fā)數(shù)


2.限制下載個數(shù)和下載速度
limit_req_zone $binary_remote_addr zone=baism:10m rate=1r/s;
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
listen 80;
server name localhost;
location / {
root html;
index index.html index.htm
}
location /abc {
limit_req zone=baism burst=5 nodelay;
limit_conn addr 1;
limit_rate 100k;
limit_rate_after 100m;
}
}請求數(shù)不能超過1個
下載到100m就會限速到100kb/s
limit_conn_zone;設(shè)置桶limit_conn addr 1;設(shè)置連接數(shù)limit_rate 100k;設(shè)置下載速率
nginx實現(xiàn)url重寫rewrite
將用戶在地址欄輸入的地址重新編輯。
作用場景:域名變更、用戶跳轉(zhuǎn)、偽靜態(tài)場景
重寫指令
代碼1
location /baism00 {
rewrite ^(.*)$ http://192.168.10.129;
}
location /baism01 {
rewrite ^(.*)$ http://192.168.10.129 break;
}
location /baism02 {
rewrite ^(.*)$ http://192.168.10.129 redirect;
}
location /baism03 {
rewrite ^(.*)$ http://192.168.10.129 permanent;
}重寫規(guī)則:rewrite 正則 替代內(nèi)容 flag標記
flag標記
last:匹配后,進行向下執(zhí)行后面的代碼,不跳轉(zhuǎn)break:匹配后中止,不執(zhí)行后面代碼redirect: 302臨時重定向 搜索網(wǎng)站保存舊網(wǎng)站permanent:301永久重定向 搜索網(wǎng)站保存新網(wǎng)站
使用正則匹配,注意rewrite匹配字符是 目錄全部內(nèi)容,不是location匹配后剩下的內(nèi)容
代碼2
location /html {
rewrite /html/(.*)$ /post/$1 permanent;
} rewrite 匹配內(nèi)容 替換內(nèi)容
匹配內(nèi)容使用括號分組匹配
替換內(nèi)容使用$1,$2代表匹配的內(nèi)容
代碼3
location / {
root html;
index index.html index.html;
if ($http_user_agent ~* 'Chrome') {
break;
return 43;
#return http://www.jd.com
}
}nginx匹配
- 模糊匹配:~匹配 !~不匹配 ~*不區(qū)分大小寫的匹配
- 精確匹配 :=匹配 !=不匹配
注意:if和()和{}之間都有空格
#注釋
$http_user_agent用戶代理,用戶瀏覽器類型$request_filename當前請求的文件路徑名,由root或alias指令與URL請求生成$uri請求的不帶請求參數(shù)的URL,可能和最初的值有不同,比如經(jīng)過重定向之類的$http_host http地址
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx geoip模塊實現(xiàn)地區(qū)性負載均衡
相信做過awstats的都用過開源的geoip.dat ip數(shù)據(jù)庫,剛好nginx wiki上有g(shù)eoip 模塊,這樣就可以實現(xiàn)地區(qū)性的負載均衡,但是maxmind 的ip數(shù)據(jù)庫對中國的支持不算太好,不過現(xiàn)在也不錯了~2010-12-12
教你利用Nginx 服務(wù)搭建子域環(huán)境提升二維地圖加載性能的步驟
這篇文章主要介紹了利用 Nginx 服務(wù)搭建子域環(huán)境提升二維地圖加載性能,本文分步驟通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-09-09
Nginx代理到https地址忽略證書驗證配置的實現(xiàn)
在特定情況下,Nginx代理到HTTPS地址可能需要忽略證書驗證,本文就來介紹一下如何實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09
將樹莓派轉(zhuǎn)身為強大的Web服務(wù)器如何使用Nginx和cpolar實現(xiàn)遠程訪問
這篇文章主要介紹了Nginx可視化管理工具結(jié)合cpolar實現(xiàn)遠程訪問內(nèi)網(wǎng)服務(wù),相比其他 Web 服務(wù)器,Nginx 的內(nèi)存占用率非常低,可以在樹莓派等資源受限的設(shè)備上運行,同時結(jié)合cpolar 內(nèi)網(wǎng)穿透工具即可實現(xiàn)遠程訪問,需要的朋友可以參考下2023-09-09
Nginx出現(xiàn)504 Gateway Time-out的解決方法
nginx訪問出現(xiàn)504 Gateway Time-out,一般是由于程序執(zhí)行時間過長導(dǎo)致響應(yīng)超時,本文就來介紹一下解決方法,感興趣的可以了解一下2023-10-10
Ubuntu系統(tǒng)下的Nginx服務(wù)器軟件安裝時的常見錯誤解決
這篇文章主要介紹了Ubuntu系統(tǒng)下的Nginx服務(wù)器軟件安裝時的常見問題解決,包括徹底卸載Nginx的方法介紹,需要的朋友可以參考下2016-03-03

