Nginx軟件模塊說明

Nginx軟件模塊說明

Nginx經常使用模塊

注:如下只是列舉Nginx經常使用模塊,須要詳細瞭解更多模塊能夠登陸Nginx官方網站查看php

功能模塊 模塊說明
ngx_http_core_module 包含一些核心的http參數配置,對應Nginx的配置爲http區塊部分
ngx_http_access_module 訪問控制模塊,用來控制網站用戶對Nginx的訪問
ngx_http_gzip_module 壓縮模塊,對返回的數據壓縮,屬於性能優化模塊
ngx_http_proxy_module proxy代理模塊
ngx_http_upstram_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鏈接,如https
ngx_http_stub_status_module 記錄Nginx基本訪問狀態信息等的模塊

 

 

 

 

 

 

 

 

 

 

Nginx目錄結構

可使用tree /usr/local/nginx/查看,如下爲簡單列舉,若是須要詳細請查看Nginx官方網站文檔信息html

tree /usr/local/nginx/nginx

|-- conf #這是nginx全部的配置文件的總目錄web

|   |--fastcgi.conf #fastcgi相關參數配置文件apache

|   |--fastcgi.conf.default #fastcgi.conf的原始備份性能優化

|   |--fastcgi_params #fastcgi的參數文件架構

|   |--nginx.conf #這是nginx默認的主配置文件併發

|   |--nginx.conf.default #這是nginx默認的的原始備份app

|--fastcgi_temp #fastcgi 臨時數據目錄負載均衡

|--html #這是編譯安裝時nginx的默認站點目錄,相似apache的默認站點htdocs目錄

|   |--50x.html #錯誤頁面優雅代替顯示文件,例如:出現502錯誤時,會調用此頁面;    #error_page 500 502 503 504 /50x.html         

|   |--index.html #默認的首頁文件,在實際環境中,也可以使用index.html、index.php、index.jsp,可是首頁文件名字是在nginx.conf事先定義好了

|--logs #這是nginx默認的日誌路徑,包括錯誤日誌及訪問日誌

|   |--access.log #這是nginx默認的訪問日誌文件,使用tail -f access.log 能夠實時查看網站用戶訪問狀況信息

|   |--error.log #這是nginx默認的錯誤日誌文件,若是nginx出現啓動故障等問題,必定得查看這個錯誤日誌

|   `--nginx.pid #nginx的pid文件,nginx進程啓動後,會把全部的進程的ID號寫到此文件

|-- proxy_temp #臨時目錄

|-- sbin #這是nginx命令的目錄,如nginx的啓動命令nginx

| `-- nginx #nginx的啓動命令nginx

|-- scgi_temp #臨時目錄

`-- uwsgi_temp #臨時目錄

Nginx配置文件

Nginx的配置文件是一個純文本文件,它通常位於Nginx安裝目錄的conf目錄下,整個配置文件是以block的形式組織的。每一個block通常以一個大括號「{}」來表示。block 能夠分爲幾個層次,整個配置文件中Main命令位於最高層,在Main層下面能夠有Events、 HTTP等層級,而在HTTP層中又包含Server層,即server block, serverblock中又可分爲location層,而且一個server block中能夠包含多個location block;main部分設置的命令將影響其餘全部設置; server 部分的命令主要用於指定主機和端口; location 部分用於匹配網頁位置;server繼承main, location 繼承server。

  • main (全局設置) 
  • sever (主機設置)
  •  location(URL匹配特定位置的設置)

一個完整的Nginx配置文件框架以下圖:

 Nginx配置文件的核心架構

worker_processes 1;
events {
        worker_connections 1024;
}
http {
        include mime.types;
        server {
            listen 80;
            server_name localhost;
              location / {
                  root html;
                  index index.html index.htm;
           }

      }
}

nginx.conf.default解析

[root@web01 conf]# egrep -v "#|^$" nginx.conf.default  #去掉#和空行的內容

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
          } #第二個location區塊結束
    } #第一個server區塊結束
}#第一個http區塊結束

注意:每行結束後除非是大括號{}結束,否則必須使用分號(;)結尾,不然會產生錯誤。

相關文章
相關標籤/搜索