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

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:運維 nginx配置文件說明

Goto即刻購綜合2025-05-05260

柚子快報邀請碼778899分享:運維 nginx配置文件說明

http://yzkb.51969.com/

Nginx的配置文件說明

Nginx配置文件的主要配置塊可以分為三個部分:全局配置塊(events和http塊),events塊和http塊。這三個部分共同定義了Nginx服務(wù)器的整體行為和處理HTTP請求的方式。

全局配置塊: 包含了影響Nginx服務(wù)器整體行為的指令,如進程數(shù)、工作目錄、錯誤日志級別、進程ID文件路徑、用戶和組設(shè)置等。 全局配置塊中的指令對整個Nginx服務(wù)器實例生效。 events 塊: 處理Nginx服務(wù)器與客戶端的連接事件。 定義了工作進程數(shù)、連接數(shù)限制等影響服務(wù)器性能和穩(wěn)定性的參數(shù)。 events塊通常位于全局配置塊內(nèi),也可以單獨作為一個塊。 http 塊: 處理HTTP請求,是Nginx配置的核心部分。 包括了解析請求、生成響應、日志記錄等指令。 http塊可以包含多個子塊,如server、location、upstream等,這些子塊分別用于配置服務(wù)器設(shè)置、請求處理位置和后端服務(wù)器集群

nginx.conf配置文件說明

```powershell

指令名 指令值; #全局塊,主要設(shè)置Nginx服務(wù)器整體運行的配置指令 在event和http之外的都是全局塊

#events塊,主要設(shè)置,Nginx服務(wù)器與用戶的網(wǎng)絡(luò)連接

events {

指令名 指令值;

}

#http塊,是Nginx服務(wù)器配置中的重要部分,代理、緩存、日志記錄、第三方模塊配置...

http {

指令名 指令值;

server { #server塊,是Nginx配置和虛擬主機相關(guān)的內(nèi)容

指令名 指令值;

location / {

#location塊,基于Nginx服務(wù)器接收請求字符串與location后面的值進行匹配,對特定請求進行處理

指令名 指令值;

}

}

...

}

``

nginx.conf配置文件中默認有三大塊:全局塊、events塊、http塊 http塊中可以配置多個server塊,每個server塊又可以配置多個location塊。

全局塊

1.user:用于配置運行Nginx服務(wù)器的worker進程的用戶和用戶組。

語法user user [group]默認值nobody位置全局塊

修改user配置 用戶必須是存在Linux中的 如果沒有用戶可以通過以下命令創(chuàng)建一個

useradd jackwade

測試配置效果 在/root/html/下創(chuàng)建index.html頁面,添加如下內(nèi)容

Welcome to nginx!

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and

working. Further configuration is required.

For online documentation and support please refer to

nginx.org.

Commercial support is available at

nginx.com.

Thank you for using nginx.

I am iron man

修改nginx.conf配置文件 在對應http下的server模塊下添加location配置如下:

./nginx -s reload 執(zhí)行重載配置文件命令

訪問也會提示403,沒有權(quán)限

復制cp index.html /home/jackwade/html/

然后再次修改nginx.conf

location / {

#root html;

root /home/jackwade/html;

index index.html index.htm;

}

./nginx -s reload 重新加載配置文件 訪問頁面 通過ps -ef | grep nginx命令查看進程 ,可以看到工作進程是"jackwade"

通過上面的測試,使用user指令可以指定啟動運行工作進程的用戶及用戶組。

work process

master_process:用于關(guān)閉 Nginx 的主進程模式,使其只運行一個單一的工作進程.

語法master_process [on off]默認值master_process on;位置全局塊

master_process off;

作用:master_process:用于關(guān)閉 Nginx 的主進程模式,使其只運行一個單一的工作進程

性能影響: 關(guān)閉主進程模式會導致 Nginx 只運行一個單一的工作進程,從而不能充分利用多核處理器的優(yōu)勢,影響性能。穩(wěn)定性: 在生產(chǎn)環(huán)境中使用 master_process off; 可能會影響 Nginx 的穩(wěn)定性和可擴展性,因此一般不建議在生產(chǎn)環(huán)境中使用。調(diào)試用途: master_process off; 常用于開發(fā)和調(diào)試環(huán)境,以簡化調(diào)試過程和配置測試 關(guān)閉后需要重啟生效,查看進程里面則沒有相應的Master和worker進程 關(guān)閉后查看效果 ps -ef | grep nginx

worker_processes

用于定義 Nginx 啟動多少個工作進程。通常,設(shè)置為與服務(wù)器 CPU 核心數(shù)相同,以便充分利用多核處理器。

語法worker_processes [number|auto]默認值worker_processes 1;位置全局塊

設(shè)置工作進程 worker_processes 2; 如果master_process off; 則worker processes 2 設(shè)置無效,將之前設(shè)置的master_process 注釋掉。 同樣的該設(shè)置需要重新啟動才能生效 重啟

設(shè)置后的效果

auto :設(shè)置成auto會自動適當?shù)墓ぷ鬟M程數(shù),一般等于機器的 CPU 核心數(shù)。

daemon守護進程

daemon 指令用于控制 Nginx 是否以守護進程方式運行。默認情況下,Nginx 是以守護進程方式運行的。守護進程不會隨著終端關(guān)閉而停止。

語法daemon [on | off]默認值daemon on;示例daemon off;位置全局塊

pid

用來配置Nginx當前master進程的進程號ID存儲的文件路徑。

語法pid [文件路徑]默認值pid /usr/local/nginx/logs/nginx.pid位置全局塊、http、server、location

error_log

用來配置Nginx的錯誤日志存放路徑

語法error_log [文件路徑] [級別]默認值error_log /var/log/nginx/error.log warn;示例error_log /var/log/nginx/error.log debug;位置全局塊、http、server、location

該屬性也可以通過./configure --error-log-path=[PATH]來指定 其中日志級別的值有:debug|info|notice|warn|error|crit|alert|emerg,翻譯過來為調(diào)試|信息|通知|警告|錯誤|臨界|警報|緊急,這塊建議設(shè)置的時候不要設(shè)置成info以下的等級,因為會帶來大量的磁盤I/O消耗,影響Nginx的性能。

include

語法include [文件路徑]默認值無示例include /etc/nginx/conf.d/*.conf;位置全局塊

使用 include指令可以包含指定的配置文件中的配置內(nèi)容到當前的配置文件中 例如我們include 一個 nginx_main.conf nginx_main.conf配置內(nèi)容如下 在全局塊中添加include

測試配置文件 重新加載文件 nginx -s reload 查看進程,可以看到是4個jackwade進程,表明引入成功

http塊配置說明

http塊

定義MIME-Type

Nginx 的 mime.types 配置文件用于定義文件擴展名與 MIME 類型之間的映射。MIME 類型(Multipurpose Internet Mail Extensions)是一種標準,用于描述文件的類型和格式。通過將文件擴展名與適當?shù)?MIME 類型關(guān)聯(lián),Nginx 能夠正確地告訴瀏覽器如何處理和顯示文件。

在Nginx的配置文件中,http塊中默認有兩行配置

include mime.types;

default_type application/octet-stream;

mime.types文件內(nèi)容

default_type:用來配置Nginx響應前端請求默認的MIME類型。

語法default_type [MIME 類型]默認值default_type text/plain;示例default_type application/octet-stream;位置http, server, location 塊

當請求某些接口時,需要返回指定的文本字符串或 JSON 字符串。如果邏輯非常簡單,或者返回的是固定的字符串,可以使用 Nginx 來快速實現(xiàn)。這不僅免去了編寫程序來響應請求的麻煩,還可以減少服務(wù)器資源的占用,并且提高響應性能

location /get_text {

default_type text/plain;

return 200 "This is Nginx Text Test";

}

按如上修改配置nginx.conf文件

修改完成后使用nginx -t測試文件是否正確 使用nginx -s reload重新加載配置文件

測試: 測試html 添加配置

location /get_html {

default_type text/html;

return 200 "

This is Nginx html Test

";

}

修改完成后執(zhí)行nginx -s reload重新加載配置文件

返回json格式

```powershell

location /get_json {

default_type application/json;

return 200 '{"name":"jack","age":"18","gender":1}';

}

sendfile

sendfile 用于設(shè)置 Nginx 服務(wù)器是否使用 sendfile() 系統(tǒng)調(diào)用來傳輸文件。sendfile 是 Linux 內(nèi)核中處理靜態(tài)資源的一個函數(shù),它可以顯著提升從磁盤讀取靜態(tài)資源并返回到前端的過程。

當 Nginx 訪問靜態(tài)資源時,這些資源通常存儲在磁盤上。通過啟用 sendfile,Nginx 可以直接從磁盤讀取數(shù)據(jù)并發(fā)送到網(wǎng)絡(luò),而無需在內(nèi)核空間和用戶空間之間進行多次數(shù)據(jù)復制。這種方式大大提高了靜態(tài)資源處理的性能,減輕了 CPU 負載,并加快了文件傳輸速度。

簡而言之,啟用 sendfile 能顯著提高 Nginx 處理靜態(tài)資源的性能,使得文件傳輸更加高效。

如下圖: 未開啟sendfile的處理流程 開啟sendfile的處理流程

語法sendfile [on | off]默認值sendfile off;示例sendfile on;位置http, server, location 塊

sendfile 指令的解釋 語法: sendfile [on | off] 用于啟用或禁用 sendfile 功能。 默認值: sendfile off; 默認情況下,sendfile 功能是禁用的。 示例: sendfile on; 啟用 sendfile 功能,允許在發(fā)送文件時直接從磁盤讀取數(shù)據(jù)并發(fā)送到網(wǎng)絡(luò),減少數(shù)據(jù)在內(nèi)核空間和用戶空間之間的復制,提高文件傳輸效率。

keepalive_timeout

keepalive_timeout:用來設(shè)置長連接的超時時間。

為什么要用keepalive_timeout HTTP是一種無狀態(tài)協(xié)議,客戶端向服務(wù)端發(fā)送一個TCP請求,服務(wù)端響應完畢后斷開連接。 如果客戶端向服務(wù)端發(fā)送多個請求,那么每個請求都需要重新創(chuàng)建一次連接,效率相對來說比較低, 使用keepalive模式,可以告訴服務(wù)器端在處理完一個請求后保持這個TCP連接的打開狀態(tài), 若接收到來自這個客戶端的其他請求,服務(wù)端就會利用這個未被關(guān)閉的連接,而不需要重新創(chuàng)建一個新連接, 提升效率,但是這個連接也不能一直保持,這樣的話,連接如果過多,也會使服務(wù)端的性能下降,這個時候就需要我們進行設(shè)置其的超時時間。

語法keepalive_timeout [timeout] [header_timeout]默認值keepalive_timeout 75s;示例keepalive_timeout 65s;位置http, server, location 塊

keepalive_requests

keepalive_requests: 指令用于設(shè)置在一個保持活動連接(Keep-Alive)上可以執(zhí)行的最大請求數(shù)。通過限制請求數(shù),可以防止單個連接長時間占用資源,提高服務(wù)器的可用性和性能。

語法keepalive_requests [number]默認值keepalive_requests 100;示例keepalive_requests 200;位置http, server, location 塊

events塊配置說明

events 塊是 Nginx 配置文件 (nginx.conf) 中的重要部分,用于配置與事件處理相關(guān)的參數(shù)。它主要定義了 Nginx 服務(wù)器如何處理客戶端連接,以及控制工作進程的行為。這些配置對于優(yōu)化服務(wù)器性能和穩(wěn)定性至關(guān)重要。

accept_mutex 設(shè)置Nginx網(wǎng)絡(luò)連接序列化

語法accept_mutex [on | off]默認值accept_mutex on;示例accept_mutex off;位置events 塊

accept_mutex 這個配置主要用于解決常說的"驚群"問題。當客戶端發(fā)送一個請求連接時,Nginx 作為多進程服務(wù)器,會同時喚醒多個 worker 進程,但最終只有一個進程能獲取到連接。如果每次喚醒的進程數(shù)目太多,就會影響 Nginx 的整體性能。

如果將 accept_mutex 設(shè)置為 on(開啟狀態(tài)),Nginx 會對多個進程接收連接進行排隊,一個接一個地喚醒進程接收連接,從而防止多個進程爭搶連接資源,提高性能。然而,是否開啟該配置需要根據(jù)實際的生產(chǎn)環(huán)境來決定。 例如有時候多個客戶端發(fā)送了多個請求,改配置為on,這個時候這會逐一去喚醒工作進程,實際上比關(guān)閉狀態(tài)下情況還差了些,浪費了詢問的時間。 配置示例:

multi_accept:設(shè)置是否允許同時接收多個網(wǎng)絡(luò)連接

語法multi_accept [on | off]默認值multi_accept off;示例multi_accept on;位置events 塊

multi_accept 的配置決定了 Nginx 的工作進程在有新連接到達時,是一次只處理一個連接,還是一次處理多個連接。

multi_accept off: 默認情況下,每次有新連接到達時,一個工作進程只接受一個連接。這種方式適合普通的請求負載,因為它避免了過多連接堆積在單個進程上,從而導致資源競爭。

multi_accept on: 當啟用這個選項時,每次有新連接到達時,一個工作進程會盡可能多地接受新連接。這對于高并發(fā)場景是有利的,因為可以一次性處理多個新連接,減少系統(tǒng)調(diào)用的開銷,提高整體處理效率。 配置示例:

worker_connections:配置單個worker進程最大的連接數(shù)

語法worker_connections [number]默認值worker_connections 1024;位置events 塊

worker_connections 指令用于設(shè)置每個 Nginx 工作進程可以同時處理的最大連接數(shù),這里的連接數(shù)不僅僅包括和前端用戶建立的連接數(shù),而是包括所有可能的連接數(shù),另外,number值不能大于操作系統(tǒng)支持打開的最大文件句柄數(shù)量。

可以通過ulimit -n 查看最大文件句柄數(shù)量。 ulimit -n 配置示例

use:設(shè)置Nginx服務(wù)器選擇哪種事件驅(qū)動來處理網(wǎng)絡(luò)消息

語法use [方法]默認值use select;示例use epoll;位置events 塊

注意:此處所選擇事件處理模型是Nginx優(yōu)化部分的一個重要內(nèi)容,method的可選值有select/poll/epoll/kqueue等,注意使用epoll需要linux內(nèi)核在2.6以上才能夠使用epoll函數(shù)來優(yōu)化Nginx。

假設(shè) Nginx 服務(wù)器是一家餐廳,而事件驅(qū)動模型就像餐廳里服務(wù)員用來管理桌子的方式:

select: 這是最傳統(tǒng)的方式,適用于幾乎所有操作系統(tǒng),但在處理大量連接時效率較低。就像服務(wù)員需要逐個查看每張桌子是否有新客人,效率不高。 poll: 這是 select 的改進版本,能夠更有效地處理更多的連接。服務(wù)員可以查看多個桌子,但還是需要逐個處理。 epoll: 這是 Linux 上最先進的方式,能夠高效地處理大量并發(fā)連接,適用于高流量的網(wǎng)站。就像服務(wù)員有一個智能系統(tǒng),能夠快速找到需要服務(wù)的桌子,大大提高了效率。 kqueue: 這是 FreeBSD 上的高效事件驅(qū)動模型,類似于 Linux 的 epoll。服務(wù)員有一個類似的智能系統(tǒng),可以快速響應需求。(FreeBSD 是一個類 UNIX 操作系統(tǒng),基于 BSD (Berkeley Software Distribution) 系統(tǒng)。它主要用于服務(wù)器和嵌入式平臺,但也可以用作桌面操作系統(tǒng)。) /dev/poll: 這是 Solaris 上的事件驅(qū)動模型,也是一種高效的管理方式。

配置文件配置

events {

worker_connections 1024;

accept_mutex on;

multi_accept on;

use epoll; #使用epoll

}

另外這些值的選擇,我們也可以在編譯的時候使用 –with-select_module、#加入到nginx編譯環(huán)境 –without-select_module、#移除nginx編譯環(huán)境 –with-poll_module、 –without-poll_module 來設(shè)置是否需要將對應的事件驅(qū)動模塊編譯到Nginx的內(nèi)核。

柚子快報邀請碼778899分享:運維 nginx配置文件說明

http://yzkb.51969.com/

好文鏈接

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

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

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

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

發(fā)布評論

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

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

掃描二維碼手機訪問

文章目錄