Nginx學習筆記(九) 配置文件詳細說明


配置文件詳細說明

  工作了幾個月要開始做一些后台開發,免不了接觸nginx,以前一般只是簡單的使用,更多的分析內部模塊的具體實現,為了部署需要進一步掌握配置方法。

全局配置信息

#nginx worker進程運行用戶以及用戶組 
user nobody nobody;

#nginx worker數量 worker_processes
4;

#全局錯誤日志文件,日志輸出級別有debug、info、notice、warn、error、crit(類似於Python中的logging) error_log logs
/error.log notice;

#指定主進程id的存儲文件位置 pid logs
/nginx.pid;

#指定一個nginx進程可以打開的最多文件描述符數目 worker_rlimit_nofile
65535;

#設定nginx的工作模式及連接數上限 events{ use epoll; #linux 服務器的優點所在 worker_connections
65536;#設定worker的最大連接數 }


  worker_rlimit_nofile:
理論值應該是最多打開文件數(ulimit -n)與nginx 進程數相除,但是nginx 分配請求並不是那么均勻,所以最好與ulimit -n 的值保持一致。

  worker_connetions:每個工作進程允許最大的同時連接數(那么,這里是不是應該小於worker_rlimit_nofile)

  (nginx最大的連接數:Maxclient = work_processes * worker_connections)

虛擬主機配置

server {
    listen          80;
    server_name     domain.com *.domain.com;
    return          301 $scheme://www.domain.com$request_uri;
 }
 
server {
    listen          80;
    server_name     www.domain.com;
 
    index           index.html;
    root            /home/domain.com;
}

  在上面的配置信息中,server代表虛擬主機,而server_name用來設定虛擬主機匹配的域名,從而可以更具不同的域名來處理不同的請求內容,即監聽端口listen是相同的~

  •   在第一個server中,該server只會匹配domain.com以及其子域名下的請求;
  •   在第二個server中,只會匹配www.domain.com的域名請求;
server {
    listen          80 default_server;
 
    index           index.html;
    root            /var/www/default;
}

 

  Nginx 的虛擬主機是通過HTTP請求中的Host值來找到對應的虛擬主機配置,如果找不到呢?那 Nginx 就會將請求送到指定了 default_server 的 節點來處理,如果沒有指定為 default_server 的話,就跑到 localhost 的節點,如果沒有 localhost 的節點,那只好 404 了。

http配置

http {
#設定mime類型 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; sendfile on; #tcp_nopush on;
   #長連接超時時間,單位是秒
keepalive_timeout 65; #gzip on;     
#虛擬主機的配置 server {
#監聽端口 listen
80;
#域名可以有多個,用空格隔開 server_name localhost; #charset utf-8
;#默認編碼 #access_log logs/host.access.log main; location / { root html; index index.html index.htm;

#設置訪問網段
allow 192.168.1.0/24;
deny all; } #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; } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM