1. 程式人生 > >【nginx】把自己的nginx配置貼上來,做個備忘

【nginx】把自己的nginx配置貼上來,做個備忘

#user  nobody; 	#執行使用者
worker_processes  1;	#啟動程序,通常設定成和CPU數量相等

#全域性錯誤日誌及錯誤記錄型別
#錯誤型別  [ debug | info | notice | warn | error | crit ]  從左到右 從最詳細到最少
#error_log off 	並不能關閉日誌功能,它會導致nginx將錯誤日誌記錄到檔名為 off 的檔案中


#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid檔案是一個純粹的文字檔案,裡面記錄的是nginx程序的id號
#pid        logs/nginx.pid;


events {
	# use  epoll  				#epoll 是多路複用IO中的一種方式,但是僅用於Linux 2.6以上核心,可以大大提高nginx效能
    worker_connections  1024;	#單個後臺work process程序的最大併發連線數
    							#此處聯合worker_process 一同決定了最大客戶端連線數
}

#設定http伺服器,利用它的反響代理功能提供負載均衡
http {
		#設定mime型別,型別由mime.types檔案定義
    include       mime.types;
    	#屬於http的核心指令,【當前設定為二進位制流】,就是當檔案型別未定義的時使用這種方式
    default_type  application/octet-stream;
    	#log_format 	實現對日誌格式的設定
    #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;

    	#sendfile 指令指定nginx是否呼叫sendfile函式 | 用於開啟高效傳輸模式【將tcp_nopush和tcp_nodelay兩個指令設定為on用於防止網路阻塞】
    sendfile        on;
    #tcp_nopush     on;
    #tcp_nodely     on;

    	#設定客戶端連線保持活動的超時時間,單位 s
    	#這裡涉及一個問題,超時時間設定的比較短的話會導致大檔案上傳失敗,超時時間設定比較長的話會導致無效的連結佔據nginx的連線數最終會導致nginx崩潰
    #keepalive_timeout  0;
    keepalive_timeout  65;
    	#用於設定開啟或者關閉GZIP
    #gzip  on;
    	#設定允許壓縮的最小位元組數
	#gzip_min_length  1k;
		#此處表示申請4個16K的記憶體作為壓縮結果流快取,預設值是申請與原始資料大小相同的記憶體空間來儲存gzip壓縮結果
	#gzip_buffers     4  16k;
		#用於設定識別http版本
	#gzip_http_version  1.1;
		#指定gzip的壓縮比
	#gzip_comp_level  2;
		#用來指定壓縮的型別,無論是否指定,text/html型別總是會被壓縮的
	#gzip_types  text/plain application/x-javascript text/css application/xml;
		#設定允許前端的快取伺服器可以快取gzip壓縮的頁面【例如:squid快取經過nginx壓縮的資料】
	#gzip_vary  on;

		#虛擬主機設定
    server {
        listen       127.0.0.1;#用於指定虛擬主機的服務埠
        server_name  localhost;#指定IP地址或域名,多個域名之間用空格分開
        	#設定網頁的預設編碼格式
        #charset koi8-r;
        	#指定此虛擬機器的訪問日誌存放路徑
        #access_log  logs/host.access.log  main;
        	#URL匹配配置
        	#支援正則表示式、條件判斷匹配


        location / {
            #root   html;
			root d:/wnmp/www;
            index  index.html index.htm index.php;
            #用來指定過期時間
            #expires   30
        }

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

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        	#對url進行匹配,可以進行重定向或者進行新的代理【負載均衡】
        location ~ \.php$ {
            root           d:/wnmp/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  d:/wnmp/www$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;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #

    # HTTPS server
    #
    #server {
    #    listen       443;
    #    server_name  localhost;

    #    ssl                  on;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_timeout  5m;

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers   on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

    include D:/wnmp/nginx/vhostsconf/*;
}

一個虛擬主機的配置:

server {
        listen       127.0.0.1;
        server_name  yafsearch.com;
        index index.html index.htm index.php;
    	root D:/wnmp/yafsearch/yafapp/public_html/;

       	location /
   		{
         	if (!-f $request_filename){
             	rewrite ^/(.+)$ /index.php?$1& last;
          	}
    	}
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9003;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
}