欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx工作模式及代理配置的使用細(xì)節(jié)

 更新時間:2022年03月21日 11:40:13   作者:愿許浪盡天涯  
這篇文章主要為大家介紹了Nginx工作模式及代理配置的使用細(xì)節(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

一、Nginx 的工作模式

1.單進程模式

單進程模式下,Nginx 啟動后只有一個進程,Nginx 的所有工作都由這個進程負(fù)責(zé)。

在這里插入圖片描述

優(yōu)點:

單進程模式由于只有一個進程,因此可以很方便的利用 gdb 等工具進行調(diào)試。

缺點:

單進程模式不支持 Nginx 的平滑升級功能,任何的信號處理都可能造成服務(wù)中斷;并且由于是單進程,進程掛掉后,在沒有外部監(jiān)控的情況下,無法重啟服務(wù)。

不過后面 Nginx 已經(jīng)將 Master-Worker 配置成默認(rèn)的工作模式,所以并不需要擔(dān)心上面的問題。

[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

2.Master-Worker 模式

Nginx 啟動后,會有一個 Master 進程和至少一個的 Worker 進程;Master 進程主要負(fù)責(zé)處理系統(tǒng)信號,加載配置,管理 Worker 進程等操作;而 Worker 進程則是負(fù)責(zé)處理具體的業(yè)務(wù)邏輯,也就是說,對外部來說,真正提供服務(wù)的是 Worker 進程。

在這里插入圖片描述

優(yōu)點: 穩(wěn)定性高,只要還有 Worker 進程存活,就能夠提供服務(wù),并且一個 Worker 進程掛掉后,Master 進程會立即啟動一個新的 Worker 進程,來保證 Worker 進程數(shù)量不變,降低服務(wù)中斷的概率;同時 可以配合 Nginx 的 CPU 親和,來充分利用多核 CPU 的優(yōu)勢,提升性能。

3.問題處理

前兩天博主在啟動 Nginx 的時候,是沒有問題的,但是在訪問時就不行,當(dāng)時通過查看端口號,發(fā)現(xiàn)端口是存在的,后面使用 ps 看進程,發(fā)現(xiàn)只有一個 master 進程(master 進程不會對外提供服務(wù)),最后通過查看 error.log 日志發(fā)現(xiàn):

是因為使用的第三方模有問題,導(dǎo)致 Worker 進程并未啟動。

處理方案的話有兩種: 第一個就是將第三方模塊在配置中進行移除,第二個就是對第三方模塊進行修復(fù)。

二、Nginx 代理配置

這里博主 主要介紹:Nginx 配置文件中 / 的作用,別看這個一個小小的符號,他的作用可以說 關(guān)乎到系統(tǒng)是否可以正常提供服務(wù)。

Nginx 配置文件中 / 的作用,主要體現(xiàn)在 proxy_pass 的配置上。

準(zhǔn)備工作:

[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,你們是不需要重新配置的,因為上面的配置和下面對應(yīng)。

1.帶 /

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 代理的后面增加了個 /,就導(dǎo)致我們實際上訪問的是 curl 127.0.0.1:8080/;

也就是說,我們要是如上配置,想要訪問到 8080 端口的 PengYuYan,則需要 curl 127.0.0.1/PengYuYan/PengYuYan/。

2.不帶 /

location /PengYuYan/ {
    proxy_pass http://127.0.0.1/8080/;
}

驗證:

在這里插入圖片描述

這個其實很好理解,因為我們沒有在 proxy_pass 后面增加 /,所以 Nginx 會自動將 location 的目錄放到 proxy_pass 后面。

總結(jié):

當(dāng)我們的 proxy_pass 代理后面有 / 時,它并不會將 location 配置的目錄加進去;

而當(dāng)我們的代理后面沒有加 / 時,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/

在這里插入圖片描述

其實啊,不管是有目錄和沒目錄,都和博主上面總結(jié)的一樣。主要還是 Nginx 中的 / 在作怪。

以上就是Nginx工作模式及代理配置的使用細(xì)節(jié)的詳細(xì)內(nèi)容,更多關(guān)于Nginx工作模式代理配置的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Nginx啟用Brotli算法壓縮的示例

    Nginx啟用Brotli算法壓縮的示例

    這篇文章主要介紹了Nginx啟用Brotli算法壓縮的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Nginx四層負(fù)載均衡的配置指南

    Nginx四層負(fù)載均衡的配置指南

    當(dāng)一臺服務(wù)器的單位時間內(nèi)的訪問量越大時,服務(wù)器壓力就越大,大到超過自身承受能力時,服務(wù)器就會崩潰.為了避免服務(wù)器崩潰,讓用戶有更好的體驗,我們通過負(fù)載均衡的方式來分擔(dān)服務(wù)器壓力,這篇文章主要給大家介紹了關(guān)于Nginx四層負(fù)載均衡配置的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Nginx通過geo模塊設(shè)置白名單的例子

    Nginx通過geo模塊設(shè)置白名單的例子

    今天小編就為大家分享一篇Nginx通過geo模塊設(shè)置白名單的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • nginx外網(wǎng)訪問內(nèi)網(wǎng)站點配置操作

    nginx外網(wǎng)訪問內(nèi)網(wǎng)站點配置操作

    這篇文章主要介紹了nginx外網(wǎng)訪問內(nèi)網(wǎng)站點配置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • nginx配置SSL證書實現(xiàn)https服務(wù)的方法

    nginx配置SSL證書實現(xiàn)https服務(wù)的方法

    這篇文章主要介紹了nginx配置SSL證書實現(xiàn)https服務(wù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Nginx服務(wù)優(yōu)化配置方案

    Nginx服務(wù)優(yōu)化配置方案

    這篇文章主要介紹了Nginx服務(wù)優(yōu)化配置方案,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-03-03
  • 通過nginx代理攔截請求進行全局訪問限制

    通過nginx代理攔截請求進行全局訪問限制

    這篇文章主要介紹了通過nginx代理攔截請求進行全局訪問限制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Linux下Nginx安全證書ssl配置方法

    Linux下Nginx安全證書ssl配置方法

    這篇文章主要介紹了linux下nginx服務(wù)器配置安全證書的方法,分享下證書的具體安裝步驟,有需要的朋友參考下
    2014-01-01
  • nginx部署前端post請求405?not?allowed問題解決

    nginx部署前端post請求405?not?allowed問題解決

    在配置前端項目的時候遇到了一個post請求405 not allowed,簡單記錄一下如何配置,這篇文章主要給大家介紹了關(guān)于nginx部署前端post請求405?not?allowed問題解決方法,需要的朋友可以參考下
    2023-09-09
  • Nginx反向代理proxy_cache_path directive is not allowed錯誤解決方法

    Nginx反向代理proxy_cache_path directive is not allowed錯誤解決方法

    這篇文章主要介紹了Nginx反向代理proxy_cache_path directive is not allowed錯誤解決方法,需要的朋友可以參考下
    2015-04-04

最新評論