nginx目錄結構和配置文件


nginx軟件功能模塊說明

Nginx軟件之所以強大,是因為它具有眾多的功能模塊,下面列出了企業常用的重要模塊。

(1) Nginx核心功能模塊(Core functionality)
nginx核心功能模塊負責Nginx的全局應用,主要對應主配置文件的Main區塊和Events區塊區域,這里有很多Nginx必須的全局參數配置。有關核心功能模塊的詳細信息,請看官網,地址為http://nginx.org/en/docs/ngx_core_module.html。

(2)標准的http功能模塊集合
這些標准的http功能模塊,雖然不是nginx軟件所必需的,但都是很常用的,因此絕大部分默認情況都會自動安裝到 Nginx軟件中(見下表),不建議擅自改動,保留軟件的默認配置就好,除非你明確知道你在做什么,有什么額外影響。
在生產環境中,配置、調整及優化 Nginx軟件,主要就是根據這些模塊的功能修改相應的參數來實現的。通過官方地址http://nginx.org/en/docs/可以查看到上述及更多模塊的詳細使用幫助。

常用的Nginx http功能模塊匯總

Nginx http 功能模塊	               模塊說明

ngx_http_core_module	           包括一些核心的http參數配置,對應nginx的配置為HTTP區塊部分
ngx_http_access_module	        訪問控制模塊,用來控制網站用戶對Nginx的訪問
ngx_http_gzip_module	           壓縮模塊,對Nginx返回的數據壓縮,屬於性能優化模塊
ngx_http_fastcgi_module	      FastCGI模塊,和動態應用相關的模塊,例如PHP
ngx_http_proxy_module	      proxy代理模塊
ngx_http_upstream_module     負載均衡模塊,可以實現網站的負載均衡功能及節點的健康檢查
ngx_http_rewrite_module	      URL地址重寫模塊
ngx_http_limit_conn_module	          限制用戶並發連接數及請求數模塊
ngx_http_limit_req_module	           根據定義的key限制Nginx請求過程的速率
ngx_http_log_module	             訪問日志模塊,以指定的格式記錄Nginx客戶訪問日志等信息
ngx_http_auth_basic_module	   Web認證模塊,設置web用戶通過賬號、密碼訪問Nginx
ngx_http_ssl_module	             ssl模塊,用於加密的http連接,如htts
ngx_http_stub_status_module	   記錄Nginx基本訪問狀態信息等的模塊        

nginx的目錄結構說明

[root@nginx ~]# tree /application/nginx/  #如果tree命令找不到需要yum install -y tree安裝;
/application/nginx/
├── client_body_temp
├── conf                #這是nginx所有配置文件的目錄;
│   ├── fastcgi.conf          #fastcgi相關參數的配置文件;
│   ├── fastcgi.conf.default    #fastcgi.conf的備份文件;
│   ├── fastcgi_params        #fastcgi的參數文件;
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types            #mime媒體類型;
│   ├── mime.types.default
│   ├── nginx.conf          #nginx默認的主配置文件;
│   ├── nginx.conf.default
│   ├── scgi_params          #scgi相關參數文件;
│   ├── scgi_params.default
│   ├── uwsgi_params            #uwsgi相關參數文件;
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp            #fastcgi臨時數據目錄;  
├── html              #編譯安裝時nginx的默認站點目;
│   ├── 50x.html          #錯誤頁面優雅替代顯示文件,例如出現502錯誤時會調用此頁面;
│   └── index.html          #默認的首頁文件;
├── logs                #nginx默認的日志路徑,報錯錯誤日志及訪問日志;
│   ├── access.log          #nginx默認的訪問日志文件;
│   ├── error.log          #nginx的錯誤日志文件;
│   └── nginx.pid          #nginx的pid文件,nginx進程啟動后,會把所有進程的ID號寫入此文件;
├── proxy_temp          #臨時目錄;
├── sbin              #nginx的命令目錄,例如nginx的啟動命令nginx;
│   └── nginx          #nginx的啟動命令nginx;
├── scgi_temp        #臨時目錄;
└── uwsgi_temp        #臨時目錄;

9 directories, 21 files

nginx的主配置文件 nginx.conf

nginx的主配置文件位於nginx安裝目錄下的conf目錄中。

[root@nginx nginx]# egrep -v "#|^$" conf/nginx.conf        #去掉包含#號和空行的內容;
worker_processes  1;							#worker進程的數量;
events {										#事件區塊開始;				
    worker_connections  1024;					#每個worker進程支持的最大鏈接數;
}												#事件區塊結束;
http {											#http區塊開始;
    include       mime.types;					#nginx支持的媒體類型文件;
    default_type  application/octet-stream;		#默認的媒體類型;
    sendfile        on;							#開啟高效傳輸模式;
    keepalive_timeout  65;						#連接超時;
    server {									#第一個Server區塊開始,表示一個獨立的虛擬主機站點;
        listen       80;						#提供服務的端口默認80;
        server_name  localhost;					#提供服務的域名主機名;
        location / {							#第一個location區塊開始;
            root   html;						#站點的根目錄,相當於nginx的安裝目錄;
            index  index.html index.htm;		#默認的首頁文件,多個使用空格分開;
        }										#第一個location區塊結束;
        error_page   500 502 503 504  /50x.html;	#出現對應的http狀態碼時,使用50x.html會回應客戶;
        location = /50x.html {					#location區塊開始,訪問50x.html;
            root   html;						#指定對應的站點目錄為html;
        }
    }
}												#http區塊結束;

 


免責聲明!

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



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