您好,登錄后才能下訂單哦!
小編給大家分享一下Nginx配置文件的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Nginx的配置文件,以及給出一些配置建議
nginx 安裝目錄的 conf 文件夾下,例如:/usr/local/nginx/conf/nginx.conf 。
也可以將配置文件放置在任意位置,在啟動(dòng)Nginx時(shí)指定配置文件的位置,例如:./nginx -c /home/nginx.conf
設(shè)置 worker 的數(shù)量,Nginx的進(jìn)程模型采用的是master、worker模式,一個(gè)master負(fù)責(zé)協(xié)調(diào),多個(gè)worker負(fù)責(zé)與客戶端交互。
此處設(shè)置為 auto 即可。
設(shè)置使用的模型和每個(gè) worker 的連接數(shù)。
Linux操作系統(tǒng)中模型建議使用 epoll。
worker 的連接數(shù)通常設(shè)置為 10240 即可,當(dāng)然如果硬件資源非常好,也可以適當(dāng)加大。
包含另一個(gè)文件的內(nèi)容,將另一個(gè)文件的內(nèi)容放在標(biāo)記處。
多個(gè)文件可以寫多個(gè) include,也可以使用通配符匹配多個(gè)文件。
sendfile: 設(shè)置文件高效傳輸是否開啟,默認(rèn)開啟。
tcp_nopush:必須是 sendfile 值為 on 時(shí)才有效,當(dāng) tcp_nopush 設(shè)置為 on 代表當(dāng)數(shù)據(jù)包累計(jì)到一定大小時(shí)再發(fā)送,有助于提升文件傳輸效率。
建議都設(shè)置為 on。
客戶端連接服務(wù)器的超時(shí)時(shí)間,在連接斷開前,客戶端再次與服務(wù)器進(jìn)行交互,可復(fù)用此連接,不需要重新建立一個(gè)連接,減少了資源的開銷。
設(shè)置為 0,則表示交互完立即斷開連接。此值保持默認(rèn)即可。
設(shè)置為 on,代表會(huì)先將數(shù)據(jù)壓縮再進(jìn)行傳輸,這樣做會(huì)增加傳輸?shù)男?,?jié)省帶寬,但會(huì)影響服務(wù)器CPU的性能。
開啟此配置,還需要配置一些額外的屬性。
此處可以權(quán)衡是節(jié)省帶寬還是提高CPU性能,建議開啟,根據(jù)實(shí)際情況配置。
代碼如下:
gzip on;gzip_min_length 512; # 限制最小壓縮,單位字節(jié),小于該值則不會(huì)壓縮gzip_comp_level 5; # 壓縮的級(jí)別,值為1到9,級(jí)別越高壓縮的比例越大,cpu消耗越多gzip_types text/plain application/javascript text/css image/jpeg image/gif image/png application/json; # 需要壓縮的文件類型
一個(gè)server塊就是一個(gè)虛擬的服務(wù)。
在server塊中可以指定虛擬服務(wù)的 端口、服務(wù)名、路由規(guī)則等信息。
server可以有多個(gè)。
一個(gè)server下,location也可以有多個(gè)。
server { listen 90; # 端口 server_name localhost; # 服務(wù)名,可以是IP地址或者域名,當(dāng)端口相同時(shí),會(huì)根據(jù)服務(wù)名選擇走哪個(gè)路由規(guī)則 location / { # 根路徑路由規(guī)則 root html; # 對(duì)應(yīng)nginx安裝目標(biāo)下的html文件夾,也可以設(shè)置為絕對(duì)路徑,例如:root /home/html; index hello.html; # 指定默認(rèn)首頁(yè)為 hello.html } location /hello { root /home/hello; # index 省略,代表沒(méi)有默認(rèn)頁(yè) } error_page 500 502 503 504 /50x.html; # 指定這些狀態(tài)碼跳轉(zhuǎn)的錯(cuò)誤頁(yè) location = /50x.html { root html; } }
server塊中包含了location塊,location塊在一個(gè)server下可以有多個(gè),主要是配置請(qǐng)求的路由規(guī)則。
nginx根據(jù)請(qǐng)求的資源路徑,與location塊進(jìn)行匹配,然后根據(jù)location的配置對(duì)路由進(jìn)行轉(zhuǎn)發(fā)。
location支撐多種匹配規(guī)則,下面就具體說(shuō)一說(shuō)。
精確匹配
location / { # 根路徑路由規(guī)則 root html; # 對(duì)應(yīng)nginx安裝目標(biāo)下的html文件夾,也可以設(shè)置為絕對(duì)路徑,例如:root /home/html; index hello.html; # 指定默認(rèn)首頁(yè)為 hello.html } location /hello { root /home/hello; # index 省略,代表沒(méi)有默認(rèn)頁(yè) }
正則表達(dá)式匹配
location ~* \.(GIF|PNG|jpg|bmp|jpeg) { # *代表不區(qū)分大小寫 root /home/img; }
匹配以某個(gè)路徑開頭的請(qǐng)求
location ^~ /server/page/ { root /home/page; }
以上是“Nginx配置文件的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。