Mac上Nginx學(xué)習(xí)筆記

Nginx概念:反向代理(不關(guān)心服務(wù)器是誰)服務(wù)器

一、Nginx常用命令:

關(guān)閉nginx:nginx -s stop/quit? ?

stop是快速關(guān)閉员魏,quit正常關(guān)閉(等請求走完才關(guān))

重新加載:nginx -s reload

二丑蛤、nginx配置文件組成:

? ? ?1、全局塊:影響nginx服務(wù)器整體運(yùn)行的配置指令

? ? ?2撕阎、events塊:影響nginx服務(wù)器與用戶的網(wǎng)絡(luò)連接

? ? ?3受裹、http塊:

? ? ? ? ? a、http全局塊:文件引入(include)虏束,MIME-TYPE定義棉饶,日志自定義,連接超時(shí)時(shí)間镇匀,負(fù)載均衡邏輯(upstream)等:

????????負(fù)載均衡常見策略:

????????????1)輪詢(默認(rèn))

????????????2)權(quán)重(weight=n)

????????????3)ip_hash匹配照藻,訪客的ip和服務(wù)器ip匹配,可以解決session不一致的問題

????????????4)fair(第三方)汗侵,響應(yīng)時(shí)間越短的分配訪問次數(shù)越多

? ? ? ? ? b幸缕、server塊:

????????????location方式:

????????????????1)=? 精確匹配

????????????????2)~? 正則匹配,區(qū)分大小寫

????????????????3)~* 正則匹配晃择,不區(qū)分大小寫

????????????????4)^~ 在前綴匹配中冀值,視作最長長度匹配

????????????匹配規(guī)則:

????????????????1)先查找 = 精確匹配,找到了就返回該條

????????????????2)查找最長前綴匹配^~宫屠,匹配到了就返回該條

????????????????3)沒有精確匹配列疗,和最長前綴匹配,“按順序”查找正則匹配浪蹂,~抵栈,~*兩種,找到任何一條匹配正則就返回

????????????????4)上面三者都沒坤次,等于用普通前綴長度匹配規(guī)則古劲,記錄下最長匹配的那條返回

????????????????5)/ 匹配全部,等于是兜底的最低級的前綴匹配



三缰猴、配置文件例子和注釋


include掃碼路徑下产艾,還有個(gè)依賴文件,可以參考

upstream zcy_bidding {

? ? server 127.0.0.1:8040;

}

upstream zcy_bidding-open {

? ? server 127.0.0.1:8049;

}

upstream zcy_project_manage {

? ? server 127.0.0.1:8022;


}

upstream zcy_bidding-entrust {

? ? #server 127.0.0.1:3000;? ?

? ? #server 172.16.101.50:80;

? ? #server 172.16.101.166:80;

? ? server 172.19.195.224:80;

}

upstream zcy_middle {

? server middle.test-shanghai.cai-inc.com;

}

upstream zcy_login {

? server login.test-shanghai.cai-inc.com;

}

upstream zcy_main {

? server test-shanghai.cai-inc.com;

}

server {

? ? listen 80;

? ? listen 443 ssl;

? ? server_name www.test.cai-inc.com, www.test-shanghai.cai-inc.com,bidding.dev-helion.cai-inc.com,bidding.dev-hecate.cai-inc.com,dev-hecate.cai-inc.com,test.cai-inc.com,bidding.test.cai-inc.com,test-shanghai.cai-inc.com,bidding.test-shanghai.cai-inc.com,www.dev-fulltime.cai-inc.com,project-manage.test-shanghai.cai-inc.com;

? ? error_page 404 403 /error;

? ? ssl_certificate? ? ? /usr/local/etc/nginx/conf.d/server.pem;

? ? ssl_certificate_key? /usr/local/etc/nginx/conf.d/privkey.pem;

? ? # access_log? /usr/local/etc/nginx/logs/bidding_access.log;

? ? # error_log? /usr/local/etc/nginx/logs/bidding_error.log;

? ? location = /favicon.ico {

? ? ? return? 404;

? ? }

? location ~ ^/assets/(.*)$ {

? ? ? #root /Volumes/zcy-bidding-front/public;

? ? ? #root /Users/yesensen/FrontProjects/zcy-project-manage-front/public;

? ? ? root /Users/luyun/Documents/code/zcy-bidding-front/public;

? ? ? expires 30d;

? ? ? access_log off;

? }


? location ~ ^/assets_bidding-open/(.*)$ {

? ? ? #root /Volumes/public;

? ? ? root /Users/luyun/Documents/code/web-bidding-open-front/public;

? ? ? expires 30d;

? ? ? access_log off;

? }

? ? ? ? ## 需要轉(zhuǎn)發(fā)給middle的

? ? location = /api/getDistrictByCodeWithoutDate {

? ? ? proxy_pass? ? ? ? ? http://zcy_middle;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location = /neoericBacklog/api/obtainBacklogHeadInfo {

? ? ? ? proxy_pass? ? ? ? ? http://zcy_middle;

? ? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? ? proxy_set_header? ? Host $http_host;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? }

? ? location ~ ^/api/zoss/(.*)$ {

? ? ? proxy_pass http://zcy_middle;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location = /api/getGpcatalog/tree {

? ? ? proxy_pass? ? ? ? ? http://zcy_middle;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location = /api/zcy/common/getTreeNameByCode {

? ? ? proxy_pass? ? ? ? ? http://zcy_middle;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location = /api/district/getDistrictTreeWithPrivilegeInJson {

? ? ? proxy_pass? ? ? ? ? http://zcy_middle;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location = /middle/api/district/getDistrictTree {

? ? ? proxy_pass? ? ? ? ? http://zcy_middle;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location ~ ^/api/announcement/(.*)$ {

? ? ? proxy_pass? ? ? ? ? http://zcy_middle;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location ~ ^/announcement/api/(.*)$ {

? ? ? proxy_pass? ? ? ? ? http://zcy_middle;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location /api/user/checkSessionAliveForAllPlatformfromMember{

? ? ? proxy_pass http://zcy_login/api/user/checkSessionAliveForAllPlatformfromMember;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location /api/user/keepSessionAliveForAllPlatformfromMember{

? ? ? proxy_pass http://zcy_login/api/user/keepSessionAliveForAllPlatformfromMember;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location /sessonKickedOutByPlatForm{

? ? ? proxy_pass http://zcy_login/sessonKickedOutByPlatForm;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location ~ ^/api/common/(.*)$ {

? ? ? proxy_pass http://zcy_login;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location /middle/ {

? ? ? proxy_pass http://zcy_middle/;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

? ? location /biding/ {

? ? ? proxy_pass http://zcy_bidding;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }


? ? location ~ ^/projectContract/(.*)$? {

? ? ? proxy_pass http://zcy_bidding;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;


? ? }

? ? location /api/bidding-open/ {

? ? ? proxy_pass http://zcy_bidding-open;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? ? add_header Cache-Control 'private, no-store, no-cache, must-revalidate';

? ? }

? ? location /bidding-open/ {

? ? ? proxy_pass http://zcy_bidding-open;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? ? add_header Cache-Control 'private, no-store, no-cache, must-revalidate';

? ? }

? ? location /procurement-open/ {

? ? ? proxy_pass http://zcy_bidding-open;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? ? add_header Cache-Control 'private, no-store, no-cache, must-revalidate';

? ? }

? ? location /api/projectmanage/ {

? ? ? proxy_pass http://zcy_project_manage;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? ? add_header Cache-Control 'private, no-store, no-cache, must-revalidate';? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? }

? ? location ~ ^/projectmanage/(.*)$ {

? ? ? proxy_pass http://zcy_project_manage;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? ? add_header Cache-Control 'private, no-store, no-cache, must-revalidate';

? ? }

? ? location /assets_bidding-open/ {

? ? ? proxy_pass http://zcy_bidding-open;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? ? add_header Cache-Control 'private, no-store, no-cache, must-revalidate';

? ? }

? ? location /bidding-entrust/ {

? ? ? proxy_pass http://zcy_bidding-entrust;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? ? add_header Cache-Control 'private, no-store, no-cache, must-revalidate';

? ? }

? ? location /bidding-entrust-assets/ {

? ? ? proxy_pass http://zcy_bidding-entrust;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? ? add_header Cache-Control 'private, no-store, no-cache, must-revalidate';

? ? }

? ? location / {

? ? ? proxy_pass http://zcy_bidding;

? ? ? proxy_set_header? ? ? ? X-Real-IP $remote_addr;

? ? ? proxy_set_header? ? ? ? X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? proxy_set_header? ? ? ? Host $http_host;

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市闷堡,隨后出現(xiàn)的幾起案子隘膘,更是在濱河造成了極大的恐慌,老刑警劉巖杠览,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弯菊,死亡現(xiàn)場離奇詭異,居然都是意外死亡踱阿,警方通過查閱死者的電腦和手機(jī)管钳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來软舌,“玉大人才漆,你說我怎么就攤上這事『叮” “怎么了栽烂?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恋脚。 經(jīng)常有香客問我,道長焰手,這世上最難降的妖魔是什么糟描? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮书妻,結(jié)果婚禮上船响,老公的妹妹穿的比我還像新娘。我一直安慰自己躲履,他們只是感情好见间,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著工猜,像睡著了一般米诉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上匀伏,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天宠页,我揣著相機(jī)與錄音嘁圈,去河邊找鬼。 笑死惊橱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的箭昵。 我是一名探鬼主播税朴,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了正林?” 一聲冷哼從身側(cè)響起茧跋,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卓囚,沒想到半個(gè)月后瘾杭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哪亿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年粥烁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝇棉。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡讨阻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出篡殷,到底是詐尸還是另有隱情钝吮,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布板辽,位于F島的核電站奇瘦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏劲弦。R本人自食惡果不足惜耳标,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望邑跪。 院中可真熱鬧次坡,春花似錦、人聲如沸画畅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽轴踱。三九已至症脂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寇僧,已是汗流浹背摊腋。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嘁傀,地道東北人兴蒸。 一個(gè)月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像细办,于是被迫代替她去往敵國和親橙凳。 傳聞我的和親對象是個(gè)殘疾皇子蕾殴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344