佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Nginx配置文件詳解以及優(yōu)化建議指南

Nginx配置文件詳解以及優(yōu)化建議指南

熱門標(biāo)簽:阿里云 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 智能手機(jī) 美圖手機(jī) 網(wǎng)站建設(shè) 硅谷的囚徒呼叫中心 檢查注冊(cè)表項(xiàng) 使用U盤裝系統(tǒng)

1、概述

今天來(lái)詳解一下Nginx的配置文件,以及給出一些配置建議,希望能對(duì)大家有所幫助。

2、nginx.conf

1)配置文件位置

nginx 安裝目錄的 conf 文件夾下,例如:/usr/local/nginx/conf/nginx.conf 。

也可以將配置文件放置在任意位置,在啟動(dòng)Nginx時(shí)指定配置文件的位置,例如:./nginx -c /home/nginx.conf

2)worker_processes

設(shè)置 worker 的數(shù)量,Nginx的進(jìn)程模型采用的是master、worker模式,一個(gè)master負(fù)責(zé)協(xié)調(diào),多個(gè)worker負(fù)責(zé)與客戶端交互。

此處設(shè)置為 auto 即可。

3)events

設(shè)置使用的模型和每個(gè) worker 的連接數(shù)。

Linux操作系統(tǒng)中模型建議使用 epoll。

worker 的連接數(shù)通常設(shè)置為 10240 即可,當(dāng)然如果硬件資源非常好,也可以適當(dāng)加大。

4)include

包含另一個(gè)文件的內(nèi)容,將另一個(gè)文件的內(nèi)容放在標(biāo)記處。

多個(gè)文件可以寫多個(gè) include,也可以使用通配符匹配多個(gè)文件。

5)sendfile 和 tcp_nopush

sendfile: 設(shè)置文件高效傳輸是否開啟,默認(rèn)開啟。

tcp_nopush:必須是 sendfile 值為 on 時(shí)才有效,當(dāng) tcp_nopush 設(shè)置為 on 代表當(dāng)數(shù)據(jù)包累計(jì)到一定大小時(shí)再發(fā)送,有助于提升文件傳輸效率。

建議都設(shè)置為 on。

6)keepalive_timeout

客戶端連接服務(wù)器的超時(shí)時(shí)間,在連接斷開前,客戶端再次與服務(wù)器進(jìn)行交互,可復(fù)用此連接,不需要重新建立一個(gè)連接,減少了資源的開銷。

設(shè)置為 0,則表示交互完立即斷開連接。此值保持默認(rèn)即可。

7)gzip

設(shè)置為 on,代表會(huì)先將數(shù)據(jù)壓縮再進(jìn)行傳輸,這樣做會(huì)增加傳輸?shù)男?,?jié)省帶寬,但會(huì)影響服務(wù)器CPU的性能。

開啟此配置,還需要配置一些額外的屬性。

此處可以權(quán)衡是節(jié)省帶寬還是提高CPU性能,建議開啟,根據(jù)實(shí)際情況配置。

復(fù)制代碼 代碼如下:
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; # 需要壓縮的文件類型

8)server

一個(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;
        }
    }

9)location的匹配規(guī)則詳解

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;
    }

3、綜述

今天對(duì)Nginx配置做了詳細(xì)講解,一些Nginx的高級(jí)應(yīng)用,會(huì)在后面單獨(dú)介紹。希望大家多多溝通交流,共同成長(zhǎng)。

到此這篇關(guān)于Nginx配置文件詳解以及優(yōu)化的文章就介紹到這了,更多相關(guān)Nginx配置文件優(yōu)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:賀州 湘潭 山南 煙臺(tái) 湖北 通遼 懷化 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx配置文件詳解以及優(yōu)化建議指南》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    原阳县| 巩留县| 自治县| 巧家县| 蒙自县| 海门市| 秦安县| 郑州市| 镇江市| 宜君县| 湟源县| 沙河市| 额尔古纳市| 阳山县| 资中县| 阿合奇县| 福鼎市| 射阳县| 上饶市| 晋宁县| 屏山县| 昭平县| 淅川县| 秭归县| 绵竹市| 贵州省| 淳化县| 南安市| 皮山县| 徐汇区| 峨边| 鲜城| 年辖:市辖区| 信宜市| 大庆市| 清徐县| 定远县| 台湾省| 当雄县| 邵东县| 桐乡市|