<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
單程序模式下,Nginx 啟動後只有一個程序,Nginx 的所有工作都由這個程序負責。
優點:
單程序模式由於只有一個程序,因此可以很方便的利用 gdb
等工具進行偵錯。
缺點:
單程序模式不支援 Nginx 的平滑升級功能,任何的訊號處理都可能造成服務中斷;並且由於是單程序,程序掛掉後,在沒有外部監控的情況下,無法重啟服務。
不過後面 Nginx 已經將 Master-Worker 設定成預設的工作模式,所以並不需要擔心上面的問題。
[root@localhost ~]# ps aux | grep nginx | grep -v grep root 38395 0.0 0.0 264704 7192 ? Ss Dec15 0:00 nginx: master process /usr/local/nginx/sbin/nginx root 3421689 0.0 0.0 294040 32680 ? S Dec24 0:00 nginx: worker process
Nginx 啟動後,會有一個 Master 程序和至少一個的 Worker 程序;Master 程序主要負責處理系統訊號,載入設定,管理 Worker 程序等操作;而 Worker 程序則是負責處理具體的業務邏輯,也就是說,對外部來說,真正提供服務的是 Worker 程序。
優點: 穩定性高,只要還有 Worker 程序存活,就能夠提供服務,並且一個 Worker 程序掛掉後,Master 程序會立即啟動一個新的 Worker 程序,來保證 Worker 程序數量不變,降低服務中斷的概率;同時 可以配合 Nginx 的 CPU 親和,來充分利用多核 CPU 的優勢,提升效能。
前兩天博主在啟動 Nginx 的時候,是沒有問題的,但是在存取時就不行,當時通過檢視埠號,發現埠是存在的,後面使用 ps
看程序,發現只有一個 master
程序(master
程序不會對外提供服務),最後通過檢視 error.log
紀錄檔發現:
是因為使用的第三方模有問題,導致 Worker 程序並未啟動。
處理方案的話有兩種: 第一個就是將第三方模組在設定中進行移除,第二個就是對第三方模組進行修復。
這裡博主 主要介紹:Nginx 組態檔中 /
的作用,別看這個一個小小的符號,他的作用可以說 關乎到系統是否可以正常提供服務。
Nginx 組態檔中 /
的作用,主要體現在 proxy_pass
的設定上。
準備工作:
[root@PengYuYan ~]# yum -y install nginx [root@PengYuYan ~]# cat <<END > /etc/nginx/conf.d/Server_80.conf server { listen 80; server_name 127.0.0.1; root /usr/share/nginx/html; index index.html; location /ZhangSan/ { proxy_pass http://127.0.0.1:8080; } location /PengYuYan/ { proxy_pass http://127.0.0.1:8080/; } } END [root@PengYuYan ~]# mkdir /usr/share/nginx/html/ZhangSan [root@PengYuYan ~]# echo "This is 127.0.0.1:80 ZhangSan" > /usr/share/nginx/html/ZhangSan/index.html [root@PengYuYan ~]# mkdir /usr/share/nginx/html/PengYuYan [root@PengYuYan ~]# echo "This is 127.0.0.1:80 PengYuYan" > /usr/share/nginx/html/PengYuYan/index.html
[root@PengYuYan ~]# cat <<END > /etc/nginx/conf.d/Server_8080.conf server { listen 8080; server_name 127.0.0.1; root /www/html; index index.html; location / { } location /ZhangSan/ { } location /PengYuYan/ { } } END [root@PengYuYan ~]# mkdir -p /www/html [root@PengYuYan ~]# echo "This is 127.0.0.1:8080 /" > /www/html/index.html [root@PengYuYan ~]# mkdir /www/html/ZhangSan [root@PengYuYan ~]# echo "This is 127.0.0.1:8080 ZhangSan" > /www/html/ZhangSan/index.html [root@PengYuYan ~]# mkdir /www/html/PengYuYan [root@PengYuYan ~]# echo "This is 127.0.0.1:8080 PengYuYan" > /www/html/PengYuYan/index.html
下面的那些 location
,你們是不需要重新設定的,因為上面的設定和下面對應。
location /PengYuYan/ { proxy_pass http://127.0.0.1/8080/; }
驗證:curl 127.0.0.1/PengYuYan/
這裡博主來分解一下:
我們 curl 127.0.0.1/PengYuYan/ 中的 PengYuYan 其實就是我們 80 埠的 location 設定,並不是 8080 埠上的設定;
而我們正好又在 proxy_pass 代理的後面增加了個 /,就導致我們實際上存取的是 curl 127.0.0.1:8080/;
也就是說,我們要是如上設定,想要存取到 8080 埠的 PengYuYan,則需要 curl 127.0.0.1/PengYuYan/PengYuYan/。
location /PengYuYan/ { proxy_pass http://127.0.0.1/8080/; }
驗證:
這個其實很好理解,因為我們沒有在 proxy_pass
後面增加 /
,所以 Nginx 會自動將 location
的目錄放到 proxy_pass
後面。
總結:
當我們的 proxy_pass
代理後面有 /
時,它並不會將 location
設定的目錄加進去;
而當我們的代理後面沒有加 /
時,Nginx 便會將 location
的目錄放到 proxy_pass
後面。
1) 在帶有目錄的情況下加 /
(修改原來的 Server_80.conf
檔案即可)
location /PengYuYan/ { proxy_pass http://127.0.0.1/8080/; }
驗證:
2) 在帶有目錄的情況下不加 /
location /ZhangSan/ { proxy_pass http://127.0.0.1/8080/ZhangSan; }
驗證:curl 127.0.0.1/ZhangSan/
,在我們的設定上,實際上是存取的 curl 127.0.0.1:8080/ZhangSan/ZhangSan/
其實啊,不管是有目錄和沒目錄,都和博主上面總結的一樣。主要還是 Nginx 中的 /
在作怪。
以上就是Nginx工作模式及代理設定的使用細節的詳細內容,更多關於Nginx工作模式代理設定的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45