高可用之nginx配置文件詳解

#user  nobody;
worker_processes  1;##工做線程數,通常和cpu的核數相同:可經過ps -ef | nginx查看線程數

#配置錯誤日誌位置
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


#nginx採用epoll模型
events {
    #每一個worker線程的鏈接數
    #worker_processes*worker_connections爲nginx支持的最大鏈接數,nginx官方說能支持5萬鏈接,加入worker_processes爲n。那麼該值可配置5w/n
    #該值還和系統能支持的最大可打開的文件數有關,可經過ulimit -a查看open files的值
    #能夠經過ulimit -SHn 10000 命令設置linux支持的最大打開文件數
    #根據上面的兩個值對該值進行合理的配置
    worker_connections  1024;
}

# load modules compiled as Dynamic Shared Object (DSO)
#
#dso {
#    load ngx_http_fastcgi_module.so;
#    load ngx_http_rewrite_module.so;
#}

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"';

    #使用日誌格式輸出一個日誌(能夠根據這個屬性將nginx作日誌採集器而不用做webserver)
    #access_log  logs/access.log  main;

    #用戶態設置爲on表示啓動高效傳輸文件的模式。sendfile能夠讓Nginx在傳輸文件時直接在磁盤和tcp socket之間傳輸數據。
    #若是這個參數不開啓,會先在用戶空間(Nginx進程空間)申請一個buffer,用read函數把數據從磁盤讀到cache,
    #再從cache讀取到用戶空間的buffer,再用write函數把數據從用戶空間的buffer寫入到內核的buffer,最後到tcp socket。
    #開啓這個參數後能夠讓數據不用通過用戶buffer。
    sendfile        on;
   
    #tcp_nopush     on;

    #保持超時的時間
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #壓縮,若是打開,會把返回的內容進行壓縮。會增長服務器的損耗,可是換來了帶寬。若是傳輸的都是小文件,沒有必要開
    #gzip  on;

    #定義一組服務器,配合反向代理實現負載均衡,此時keepalive_timeout應該設置爲0
    #upstream name {
        #server ip:port
        #server ip:port
    #}
    
    #虛擬服務器。能夠虛擬一臺服務器。並容許多臺虛擬服務器對應一個端口,多臺虛擬server之間經過server_name區分
    #nginx根據ip、port和hosts決定server
    server {
        listen       80;    #監聽的端口號
        server_name  localhost;    #虛擬服務器的名稱

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #對location配置不一樣的uri,能夠分爲不一樣的模塊
        #logs目錄下的access.log文件中記錄了請求的uri
        #location的uri配置參考http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_core_module.html#location
        location / {        #訪問的路徑
            root   html;    #訪問的根目錄,該目錄是相對目錄,相對於nginx的安裝目錄
            index  index.html index.htm;#首頁
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1; ##反向代理,將請求發送給後面配置的地址。能夠結合upstream作基於反向代理的負載均衡
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #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;
        #}
    }


}
相關文章
相關標籤/搜索