Nginx實戰基礎篇二 Nginx主配置文件參數詳解

Nginx實戰基礎篇二 Nginx主配置文件參數詳解

 

Nginx安裝完畢後,會有響應的安裝目錄,安裝目錄裏nginx.confnginx的主配置文件,ginx主配置文件分爲4部分,main(全局配置)、server(主機設置)、upstream(負載均衡服務器設)和locationURL匹配特定位置的設置),這四者關係爲:server繼承mainlocation繼承serverupstream既不會繼承其他設置也不會被繼承。
一、Nginxmain(全局配置)文件
 

 

  1. [root@rhel6u3-7 server]# vim /usr/local/nginx/conf/nginx.conf 
  2. user  nginx nginx; //指定nginx運行的用戶及用戶組爲nginx,默認爲nobody 
  3. worker_processes  2; //開啓的進程數,一般跟邏輯cpu核數一致 
  4. error_log  logs/error.log  notice;  //定於全局錯誤日誌文件,級別以notice顯示。還有debug、info、warn、error、crit模式,debug輸出最多,crit輸出最少,更加實際環境而定。 
  5. pid        logs/nginx.pid; //指定進程id的存儲文件位置 
  6. worker_rlimit_nofile 65535; //指定一個nginx進程打開的最多文件描述符數目,受系統進程的最大打開文件數量限制 
  7. events { 
  8.     use epoll; 設置工作模式爲epoll,除此之外還有select、poll、kqueue、rtsig和/dev/poll模式 
  9.     worker_connections  65535; //定義每個進程的最大連接數 受系統進程的最大打開文件數量限制 
  10. ……. 

 

  1. [root@rhel6u3-7 server]# cat /proc/cpuinfo | grep "processor" | wc –l  //查看邏輯CPU核數 
  2. [root@rhel6u3-7 server]# ulimit -n 65535  //設置系統進程的最大打開文件數量 

 

二、NginxHTTP服務器配置,Gzip配置。

 

  1. http { 
  2. *****************************以下是http服務器全局配置********************************* 
  3.     include       mime.types;  //主模塊指令,實現對配置文件所包含的文件的設定,可以減少主配置文件的複雜度,DNS主配置文件中的zonerfc1912,acl基本上都是用的include語句 
  4. default_type  application/octet-stream; //核心模塊指令,這裏默認設置爲二進制流,也就是當文件類型未定義時使用這種方式 
  5. //下面代碼爲日誌格式的設定,main爲日誌格式的名稱,可自行設置,後面引用。 
  6.     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '   
  7.                       '$status $body_bytes_sent "$http_referer" ' 
  8.                       '"$http_user_agent" "$http_x_forwarded_for"'; 
  9. access_log  logs/access.log  main;  //引用日誌main 
  10.     client_max_body_size 20m; //設置允許客戶端請求的最大的單個文件字節數 
  11. client_header_buffer_size 32k; //指定來自客戶端請求頭的headebuffer大小 
  12. client_body_temp_path /dev/shm/client_body_temp; //指定連接請求試圖寫入緩存文件的目錄路徑 
  13.     large_client_header_buffers 4 32k; //指定客戶端請求中較大的消息頭的緩存最大數量和大小,目前設置爲4個32KB 
  14.     sendfile        on; //開啓高效文件傳輸模式 
  15.     tcp_nopush     on; //開啓防止網絡阻塞 
  16.     tcp_nodelay    on; //開啓防止網絡阻塞 
  17.     keepalive_timeout  65; //設置客戶端連接保存活動的超時時間 
  18.     client_header_timeout 10; //用於設置客戶端請求讀取超時時間 
  19.     client_body_timeout 10; //用於設置客戶端請求主體讀取超時時間 
  20. send_timeout 10; //用於設置相應客戶端的超時時間 
  21. //以下是httpGzip模塊配置 
  22. #httpGzip modules 
  23.     gzip  on;  //開啓gzip壓縮 
  24.     gzip_min_length 1k;  //設置允許壓縮的頁面最小字節數 
  25.     gzip_buffers 4 16k; //申請4個單位爲16K的內存作爲壓縮結果流緩存 
  26.     gzip_http_version 1.1; //設置識別http協議的版本,默認是1.1 
  27.     gzip_comp_level 2; //指定gzip壓縮比,1-9 數字越小,壓縮比越小,速度越快. 
  28.     gzip_types text/plain  application/x-javascript text/css application/xml; //指定壓縮的類型 
  29.     gzip_vary on; //讓前端的緩存服務器存經過gzip壓縮的頁面 

 

三、nginxserver虛擬主機配置
兩種方式一種是直接在主配置文件中設置server字段配置虛擬主機,另外一種是使用include字段設置虛擬主機,這樣可以減少主配置文件的複雜性。

 

  1. *****************************以下是server主機設置********************************* 
  2.   server { 
  3.         listen       80;  //監聽端口爲80 
  4.         server_name  www.rsyslog.org;  //設置主機域名 
  5.         charset gb2312;  //設置訪問的語言編碼 
  6.         access_log  logs/www.rsyslog.org.access.log  main; //設置虛擬主機訪問日誌的存放路徑及日誌的格式爲main 
  7.         location / {      //設置虛擬主機的基本信息 
  8.             root   sites/www;  //設置虛擬主機的網站根目錄 
  9.             index  index.html index.htm; //設置虛擬主機默認訪問的網頁 
  10.         } 
  11.         location /status {  // 查看nginx當前的狀態情況,需要模塊 “--with-http_stub_status_module”支持 
  12.                 stub_status on; 
  13.                 access_log /usr/local/nginx/logs/status.log; 
  14.                 auth_basic "NginxStatus"; } 
  15. include /usr/local/nginx/server/www1.rsyslog.org; //使用include字段設置server,內容如下 
  16. [root@rhel6u3-7 ~]# cat /usr/local/nginx/server/www1.rsyslog.org  
  17. server { 
  18.      listen       80; 
  19.      server_name  www1.rsyslog.org; 
  20.       location / { 
  21.             root   sites/www1; 
  22.             index  index.html index.htm; 
  23.         } 
  24.     } 

 

upstream模塊後面負載均衡再做介紹!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章