日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在前面已經演示了Nginx的安裝以及常用命令,這一章節重點講解nginx的配置文件。

1. nginx配置文件路徑:

不同安裝方式,nginx的文件存放路徑也有所不同。

源碼編譯安裝方式:在安裝目錄下的conf目錄下,比如我的安裝目錄是/usr/local/nginx,那么他的配置文件就在/usr/local/nginx/conf目錄下。

yum安裝方式:在/etc/nginx/目錄(主配置文件)與/etc/nginx/conf.d目錄下。

 2. nginx配置文件的結構:

通常源碼安裝的nginx的配置文件,會是下面這種結構,yum安裝的有細微差異(大致是一樣的,就是server是通過include引用的獨立配置文件)。

...
events {
        ...
}

http {
    ...
    server {
        ....
        location {
            root html;
            ...
        }
    }
}

nginx的配置指令可以分為兩大類:指令塊單個指令

指令塊就是像events { },http { },server { }等,單獨指令就是像root html;這樣的。

nginx規定指令塊可以嵌套,如http塊中可以嵌套server指令,server塊中可以嵌套location指令,指令可以同時出現在不同的指令塊,如root指令可以同時出現在http、server和location指令塊,需要注意的是在location中定義的指令會覆蓋server,http的指令。

 3. 代碼解析:

3.1 全局配置:

user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {
    use epoll;
    worker_connections  1024;
}
user  :指定nginx的工作進程的用戶及用戶組,默認是nobody用戶。

worker_processes   :指定工作進程的個數,默認是1個。具體可以根據服務器cpu數量進行設置,
                    比如cpu有4個,可以設置為4。如果不知道cpu的數量,可以設置為auto。
                    nginx會自動判斷服務器的cpu個數,并設置相應的進程數。
                    
error_log   :設置nginx的錯誤日志路徑,并設置相應的輸出級別。
             如果編譯時沒有指定編譯調試模塊,那么 info就是最詳細的輸出模式了。
             如果有編譯debug模塊,那么debug時最為詳細的輸出模式。這里設置為默認就好了。
             
pid     :指定nginx進程pid的文件路徑。

events  :這個指令塊用來設置工作進程的工作模式以及每個進程的連接上限。
use :用來指定nginx的工作模式,通常選擇epoll,除了epoll,還有select,poll。
worker_connections      :定義每個工作進程的最大連接數,默認是1024。
                         客戶端最大連接數,就要考慮有幾個工作進程了,兩者相乘就是的。
                         當nginx作反向代理時,需要除以2.
                    
                        ps:進程的最大連接數受linux系統進程的最大打開文件數限制。
                        比如ulimit -n 默認時1024,如果不改變這個值,
                        即使修改工作進程為2048,也無法處理這么多連接。
                        http指令塊

3.2 http指令塊:

http {
    include       mime.types;
    default_type  Application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    client_max_body_size 20m;
    client_header_buffer_size 32K;
    large_client_header_buffers 4 32k;
    Sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
        ...
        location {
            root html;
            ...
        }
    }

}
include     :主要是可以引用指定的配置文件。
default_type        :設定默認類型為二進制流,也就是當文件類型未定義時使用這種方式,
                    例如在沒有配置php環境時,Nginx是不予解析的,
                    此時,用瀏覽器訪問PHP文件就會出現下載窗口。
log_format      :定義日志文件格式,并默認取名為main,可以自定義該名字。
                 也可以通過添加,刪除變量來自定義日志文件的格式。
                 
access_log      :定義訪問日志的存放路徑,并且通過引用log_format所定義的main名稱設置其輸出格式。
sendfile    :用于開啟高效文件傳輸模式。將tcp_nopush和tcp_nodelay兩個指令設置為on用于防止網絡阻塞;
keepalive_timeout       :設置客戶端連接保持活動的超時時間。在超過這個時間之后,服務器會關閉該連接。
gzip  on        :開啟壓縮功能,減少文件傳輸大小,節省帶寬。
client_max_body_size        :用來設置允許客戶端請求的最大的單個文件字節數
client_header_buffer_size       :用于指定來自客戶端請求頭的header_buffer大小。
                                 對于大多數請求,1K的緩沖區大小已經足夠,
                                 如果自定義了消息頭或有更大的Cookie,可以增加緩沖區大小。這里設置為32K
large_client_header_buffers     :用來指定客戶端請求中較大的消息頭的緩存最大數量和大小,
                                “4”為個數,“128K”為大小,最大緩存量為4個128K
client_header_timeout       :設置客戶端請求頭讀取超時時間。如果超過這個時間,
                             客戶端還沒有發送任何數據,Nginx將返回“Request time out(408)”錯誤
client_body_timeout     :設置客戶端請求主體讀取超時時間。
                         如果超過這個時間,客戶端還沒有發送任何數據,Nginx將返回“Request time out(408)”錯誤,默認值是60
send_timeout        :指定響應客戶端的超時時間。這個超時僅限于兩個連接活動之間的時間,
                    如果超過這個時間,客戶端沒有任何活動,Nginx將會關閉連接。

3.3 server指令塊:

server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
         index  index.html index.htm;
        location /
         {
            root   html;
            ...
        }
        #error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        #location ~ .php$ {
                ...
        #}
        #location ~ /.ht {
        #    deny  all;
        #}
    }
server      :用來定義虛擬主機。
listen      :設置監聽端口,默認為80端口
server_name     :域名,多個域名通過逗號隔開
Charset     :設置網頁的默認編碼格式
access_log      :指定該虛擬主機的獨立訪問日志,會覆蓋前面的全局配置。
index        :設置默認的索引文件
location       :定義請求匹配規則。
error_page      :定義訪問錯誤返回的頁面,凡是狀態碼是500 502 503 504 都會返回這個頁面。

3.4 location指令塊:

#location ~ .php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /.ht {
        #    deny  all;
        #}
location ~ .php$     :凡是以php結尾文件,都會匹配到這條規則。
root        :php文件存放的目錄
fastcgi_pass        :指定php-fpm進程管理的ip端口或者unix套接字
fastcgi_index   :指定php腳本目錄下的索引文件
fastcgi_param       :指定傳遞給FastCGI服務器的參數
location ~ /.ht        :凡是請求類似.ht資源,都拒絕。

這是比較基本的nginx配置,更加詳細的配置需要結合企業的生產需求,遇到了在加以說明。

分享到:
標簽:配置 nginx
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定