日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

之前的文章講解了Nginx的安裝,介紹等,可以看下我之前的文章,接下來講解nginx的配置和指令的使用。

全局屬性配置

Nginx的學習,指令配置詳解

 

  • #user nobody,user是個主模塊指令,指定Nginx Worker進程運行用戶以及用戶組,默認由nobody賬號運行。

 

  • error_log是個主模塊指令,用來定義全局錯誤日志文件。日志輸出級別有debug、info、notice、warn、error、crit可供選擇,其中,debug輸出日志最為最詳細,而crit輸出日志最少。
  • pid是主模塊指令,用來指定進程id的存儲文件位置
  • worker_processes 1; #啟動進程數,根據你的電腦CPU數,1個,4個或8個

events:工作模式及連接數上限

  • use是個事件模塊指令,用來指定Nginx的工作模式。Nginx支持的工作模式有select、poll、kqueue、epoll、rtsig和/dev/poll。其中select和poll都是標準的工作模式,kqueue和epoll是高效的工作模式,不同的是epoll用在linux平臺上,而kqueue用在BSD系統中。對于Linux系統,epoll工作模式是首選
  • worker_connections也是個事件模塊指令,用于定義Nginx每個進程的最大連接數,默認是1024.最大客戶端連接數由worker_processes和worker_connections決定,即Max_client=worker_processes*worker_connections,在作為反向代理時,max_clients變為:max_clients = worker_processes * worker_connections/4。
    進程的最大連接數受Linux系統進程的最大打開文件數限制,在執行操作系統命令“ulimit -n 65536”后worker_connections的設置才能生效。

http:處理http請求的一個應用配置段

http {
    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  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

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

        #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
        #
        #location ~ .php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /.ht {

}
  • include mime.types;引用mime.types,這個類型定義了很多,當web服務器收到靜態的資源文件請求時,依據請求文件的后綴名在服務器的MIME配置文件中找到對應的MIME Type,根據MIME TYPE設置并response響應類型(Content-type)。

常見的mime.types:

 

Nginx的學習,指令配置詳解

 

default_type application/octet-stream;定義的數據流,有的時候默認類型可以指定為text,這跟我們的網頁發布還是資源下載是有關系的。

log_format main...;用于指定Nginx日志的輸出格式。main為此日志輸出格式的名稱,可以在下面的access_log指令中引用。

$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"',

遠程ip – 遠程用戶/用戶時間 請求方法(get/post) 狀態 請求body長度 referer來源信息 http-user-agent 用戶代理 被轉發的原始請求IP,由這些屬性組成日志格式。

Nginx的學習,指令配置詳解

系統日志默認配置

sendfile on;指定NGINX是否調用這個函數來輸出文件,對于普通的文件我們必須設置為ON,如果NGINX專門做為一個下載端的話可以關掉,好處是降低磁盤與網絡的IO處理數及系統的UPTIME。

tcp_nopush on; 防止網絡阻塞

autoindex on;開啟目錄列表訪問,適合下載服務器

tcp_nodelay on;提高數據的實時響應性

keepalive_timeout;根據實際情況設置值,超時時間,客戶端到服務端的連接持續有效時間,60秒內可避免重新建立連接,時間也不能設太長,太長的話,若請求數10000,都占用連接會把服務托死。

gzip on;NGINX可以壓縮靜態資源,比例我的靜態資源有10M,壓縮后只有2M,那么瀏覽器下載的就少了。

其他屬性配置:

gzip_min_length 1k;設置允許壓縮的頁面最小字節數,頁面字節數從header頭的Content-Length中獲取。默認值是0,不管頁面多大都進行壓縮。建議設置成大于1K的字節數,小于1K可能會越壓越大。

gzip_buffers 4 16k;表示申請4個單位為16K的內存作為壓縮結果流緩存,默認值是申請與原始數據大小相同的內存空間來存儲gzip壓縮結果

gzip_http_version 1.1;于設置識別HTTP協議版本,默認是1.1,目前大部分瀏覽器已經支持GZIP解壓,使用默認即可。

gzip_comp_level 2;#壓縮級別大小,最小1,最大9,值越小,壓縮后比例越小,CPU處理更快,為1時,原10M壓縮完后8M,但設為9時,壓縮完可能只有2M了

gzip_types text/plain application/x-JAVAscript text/css application/xml; 壓縮類型:text,js css xml 都會被壓縮

gzip_vary on; #作用是在http響應中增加一行目的是改變反向代理服務器的緩存策略

server虛擬主機配置

Nginx的學習,指令配置詳解

 

  • listen:用于指定虛擬主機的服務端口。
  • server_name:用來指定IP地址或者域名,多個域名之間用空格分開。
  • index:用于設定訪問的默認首頁地址,root指令用于指定虛擬主機的網頁根目錄,這個目錄可以是相對路徑,也可以是絕對路徑。
  • Charset:用于設置網頁的默認編碼格式。
  • access_log logs/www.ixdba.net.access.log main:access_log用來指定此虛擬主機的訪問日志存放路徑,最后的main用于指定訪問日志的輸出格式。

在實際應用可以做如下配置。基于域名,端口,IP的虛擬主機。

1.基于域名的虛擬主機

Nginx的學習,指令配置詳解

 

2.基于端口的虛擬主機

Nginx的學習,指令配置詳解

 

3.基于Ip地址的虛擬主機

Nginx的學習,指令配置詳解

 

location段配置

Location主要做定位功能,根據uri來進行不同的定位。

語法:location [=|~|~*|^~] /uri/ { …}

= 開頭表示精確匹配

^~ 表示uri以某個常規字符串開頭,相當于匹配uri路徑

~ 區分大小寫的正則匹配

!~ 區分大小寫不匹配

!~* 不區分大小不匹配

~* 不區分大小寫的正則匹配

/ 通用匹配

匹配優先級

1. 首先匹配精準路徑

2. 如果兩個location都是一般匹配規則,那么會按照最長路徑匹配

3. 一般匹配和正則匹配的過程是:首先會選擇一般匹配過程中的大前綴匹配,但是匹配過程不會停止,最大前綴匹配只是一個臨時結果,nginx還會繼續檢查正則location。

按照正則location在配置文件的物理順序做匹配,如果匹配到一條正則location,就不會考慮后面的規則

以下這段設置是通過location指令來對網頁URL進行分析處理,所有擴展名以.gif、.jpg、.jpeg、.png、.bmp、.swf結尾的靜態文件都交給nginx處理,而expires用來指定靜態文件的過期時間,這里是30天。

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$  {
                root    /web/wwwroot/www.ixdba.net;
               expires 30d;
        }

以下這段設置是將upload和html下的所有文件都交給nginx來處理,當然,upload和html目錄包含在/web/wwwroot/www.ixdba.net目錄中。

     location ~ ^/(upload|html)/  {
                root    /web/wwwroot/www.ixdba.net;
                expires 30d;
        }

在最后這段設置中,location是對此虛擬主機下動態網頁的過濾處理,也就是將所有以.jsp為后綴的文件都交給本機的8080端口處理。

location ~ .*.jsp$ {
    index index.jsp;      
    proxy_pass http://localhost:8080;
}

參考文獻:https://blog.51cto.com/ixdba/790611

分享到:
標簽:Nginx
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定