Nginx配置文件詳解以及優化建議指南

 更新時間:2021年09月06日 12:02:48   作者:追風人聊Java  
Nginx是一款面向性能設計的HTTP服務器,相較于Apache、lighttpd具有占有內存少,穩定性高等優勢,下面這篇文章主要給大家介紹了關于Nginx配置文件詳解以及優化的相關資料,需要的朋友可以參考下

1、概述

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

2、nginx.conf

1)配置文件位置

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

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

2)worker_processes

設置 worker 的數量,Nginx的進程模型采用的是master、worker模式,一個master負責協調,多個worker負責與客戶端交互。

此處設置為 auto 即可。

3)events

設置使用的模型和每個 worker 的連接數。

Linux操作系統中模型建議使用 epoll。

worker 的連接數通常設置為 10240 即可,當然如果硬件資源非常好,也可以適當加大。

4)include

包含另一個文件的內容,將另一個文件的內容放在標記處。

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

5)sendfile 和 tcp_nopush

sendfile: 設置文件高效傳輸是否開啟,默認開啟。

tcp_nopush:必須是 sendfile 值為 on 時才有效,當 tcp_nopush 設置為 on 代表當數據包累計到一定大小時再發送,有助于提升文件傳輸效率。

建議都設置為 on。

6)keepalive_timeout

客戶端連接服務器的超時時間,在連接斷開前,客戶端再次與服務器進行交互,可復用此連接,不需要重新建立一個連接,減少了資源的開銷。

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

7)gzip

設置為 on,代表會先將數據壓縮再進行傳輸,這樣做會增加傳輸的效率,節省帶寬,但會影響服務器CPU的性能。

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

此處可以權衡是節省帶寬還是提高CPU性能,建議開啟,根據實際情況配置。

復制代碼 代碼如下:
gzip on;gzip_min_length 512; # 限制最小壓縮,單位字節,小于該值則不會壓縮gzip_comp_level 5; # 壓縮的級別,值為1到9,級別越高壓縮的比例越大,cpu消耗越多gzip_types text/plain application/javascript text/css image/jpeg image/gif image/png application/json; # 需要壓縮的文件類型

8)server

一個server塊就是一個虛擬的服務。

在server塊中可以指定虛擬服務的 端口、服務名、路由規則等信息。

server可以有多個。

一個server下,location也可以有多個。

server {
        listen       90;           # 端口
        server_name  localhost;    # 服務名,可以是IP地址或者域名,當端口相同時,會根據服務名選擇走哪個路由規則

        location / {               # 根路徑路由規則
            root   html;           # 對應nginx安裝目標下的html文件夾,也可以設置為絕對路徑,例如:root /home/html;
            index  hello.html;     # 指定默認首頁為 hello.html
        }
     location /hello {        root /home/hello;        # index 省略,代表沒有默認頁     }      
        error_page   500 502 503 504  /50x.html;  # 指定這些狀態碼跳轉的錯誤頁
        location = /50x.html {
            root   html;
        }
    }

9)location的匹配規則詳解

server塊中包含了location塊,location塊在一個server下可以有多個,主要是配置請求的路由規則。

nginx根據請求的資源路徑,與location塊進行匹配,然后根據location的配置對路由進行轉發。

location支撐多種匹配規則,下面就具體說一說。

精確匹配

location / {            # 根路徑路由規則
            root   html;       # 對應nginx安裝目標下的html文件夾,也可以設置為絕對路徑,例如:root /home/html;
            index  hello.html; # 指定默認首頁為 hello.html
        }
     location /hello {
       root /home/hello;
       # index 省略,代表沒有默認頁
    }

正則表達式匹配

    location ~* \.(GIF|PNG|jpg|bmp|jpeg) {  # *代表不區分大小寫
       root /home/img;
    }

匹配以某個路徑開頭的請求

    location ^~ /server/page/ {
        root /home/page;
    }

3、綜述

今天對Nginx配置做了詳細講解,一些Nginx的高級應用,會在后面單獨介紹。希望大家多多溝通交流,共同成長。

到此這篇關于Nginx配置文件詳解以及優化的文章就介紹到這了,更多相關Nginx配置文件優化內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • CentOS6使用nginx搭建web網站服務的方法

    CentOS6使用nginx搭建web網站服務的方法

    這篇文章主要介紹了CentOS6使用nginx搭建web網站服務的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • CentOS 7中利用yum安裝Nginx的方法教程

    CentOS 7中利用yum安裝Nginx的方法教程

    這篇文章主要給大家介紹了在CentOS 7中利用yum安裝Nginx的方法教程,文中給出了詳細的步驟介紹,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • 解決nginx+lua搭建文件上傳下載服務問題

    解決nginx+lua搭建文件上傳下載服務問題

    這篇文章主要介紹了nginx+lua搭建文件上傳下載服務,涉及到nginx安裝配置方法,本文通過代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2017-12-12
  • Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式

    Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式

    這篇文章主要介紹了Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式,Ubuntu下的配置會有一些不同之處,需要的朋友可以參考下
    2015-07-07
  • Nginx域名轉發https訪問的實現

    Nginx域名轉發https訪問的實現

    這篇文章主要介紹了Nginx域名轉發https訪問的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • PHP(FastCGI)在Nginx的alias下出現404錯誤的解決方法

    PHP(FastCGI)在Nginx的alias下出現404錯誤的解決方法

    這篇文章主要介紹了PHP(FastCGI)在Nginx的alias下出現404錯誤的解決方法,涉及nginx平臺的相關配置技巧,需要的朋友可以參考下
    2016-05-05
  • 詳解nginx驚群問題的解決方式

    詳解nginx驚群問題的解決方式

    這篇文章主要介紹了詳解nginx驚群問題的解決方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • nginx配置虛擬主機的詳細步驟

    nginx配置虛擬主機的詳細步驟

    虛擬主機提供了在同一臺服務器、同一組Nginx進程上運行多個網站的功能。本文通過三種方法給大家介紹配置虛擬主機的方法,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • Nginx服務器配置性能優化方案

    Nginx服務器配置性能優化方案

    這篇文章主要為大家詳細介紹了Nginx服務器配置性能優化方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • nginx keepalive的具體使用

    nginx keepalive的具體使用

    這篇文章主要介紹了nginx keepalive的具體使用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10

最新評論

精品国内自产拍在线观看