首頁 >後端開發 >php教程 >詳解nginx基本配置與參數

詳解nginx基本配置與參數

高洛峰
高洛峰原創
2017-03-12 13:44:081670瀏覽

這篇文章詳解nginx基本配置與參數

user nobody;

#啟動進程,通常設定成和cpu的數量相等

worker_processes  1;

#全域錯誤日誌及PID檔

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;##工作

模式

與連線數上限

##模式

模式

11 events {

    #epoll是多路復用IO(I/O Multiplexing)中的一種方式,

    #僅用於

linux

2.6以上核心,可以大幅提升nginx的效能######    use   epoll; ######    #單一後台worker process進程的最大同時連結數   ######  問題worker_processes 與worker_connections 的乘積######    # 即max_clients = worker_processes * worker_connections######    # 在設定了反向代理人為什麼上​​面反向代理人要除以4,應該說是一個經驗值######    # 根據上述條件,正常情況下的Nginx Server可以應付的最大連線數為:4 * 8000 = 32000#### ##    # worker_connections 值的設定跟物理記憶體大小有關######    # 因為並發受IO###限制###,max_clients的值須小於系統可以開啟的最大檔案數######   #而係統可以開啟的最大檔案數和記憶體大小成正比,一般1GB記憶體的機器上可以開啟的檔案數大約是10萬左右######    # 我們來看看360M記憶體的VPS可以開啟的檔案句柄數字是多少:######    # $ cat /proc/sys/fs/###file###-max######    # 輸出34336######    # 32000 < 34336,即並發連接總數小於系統可以開啟的檔案句柄總數,這樣就在作業系統可以承受的範圍之內######    # 所以,worker_connections 的值需根據worker_processes 進程數目和系統可以開啟的最大檔案總數進行適當地進行設定######    # 使得並發總數小於作業系統可以開啟的最大檔案數目######    # 其實質也就是根據主機的實體CPU和記憶體進行設定######    #當然,理論上的並發總數可能會和實際上有所偏差,因為主機還有其他的工作流程需要消耗系統資源。 ######    # ulimit -SHn 65535######}######http {######    #設定mime類型,類型由mime.type檔案###定義## #######    ###include###    mime.types;######    default_type  application/octet-stream;######    #設定日誌格式####o # ## ##for###mat  ###main###  '$remote_addr - $remote_user [$###time###_local] "$request" '######             body_$m.      " '######                      '"$http_user_agent" "$http_x_forwarded_for"';###

    access_log  logs/access.log  main;

    #sendfile 指令指定nginx 是否呼叫sendfile 函數(zero copy 方式)來輸出文件,

    #對於普通應用,必須設為on,

    #如果用來進行下載等應用磁碟IO重負載應用,可設定為off,

    #以平衡磁碟與網路I/O處理速度,降低系統的uptime.

    sendfile     on;

    #tcp_nopush     on;

    #tcp_nopush   ” #連線逾時時間

    #keepalive_timeout  0;

    keepalive_timeout  65;

    tcp_nodelay     on;

#    tcp_nodelay     on;#  開啟壓縮1

#    gzip  on;

    gzip_disable "MSIE [1-6].";

#    gzip_disable "MSIE [1-6].";

#    gzip_disable "MSIE [1-6].";

    #設定請求緩衝

    client_

header_buffer_#    client_

er_buffer_# 128k;

    large_client_header_buffers  4 128k;

    #設定虛擬主機設定

    server {

## 

設定

    server {##   # ##       

list

en    80;

        #定義使用www.nginx.cn造訪

      1 server_name定義

服務

器的預設網站根目錄位置

        root html;

        #設定本虛擬主機的存取日誌       access_log acc access.log  main;

        #預設請求

        location / {

          .php index.html index.htm;   

        }

        # 定義錯誤提示頁

        50page  location = /50x.html {

        }#       

#靜態

文件,nginx自己處理        location ~ ^/(images | ##|js|css|flash|media|static)/ {

            #過期30天,靜態檔案不如何更新

#            #如果經常更新,則可設定小一點。

            expires 30d;

        }

##        #PHP 腳本要求全部轉送至FastGI 處理.#      一天

##            fastcgi_pass 127.0.0.1:9000;

            fastcgi_index index.php;

            fastcgi_param  SCRIPT_FILEN被fastcgi_params;        }

# #禁止存取.htxxx 檔案

            location ~ /.ht {

            deny

all

;# ## 

}

以上是詳解nginx基本配置與參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn