国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - Nginx - Nginx配置參數(shù)中文說明詳解(負(fù)載均衡與反向代理)

Nginx配置參數(shù)中文說明詳解(負(fù)載均衡與反向代理)

2020-07-27 19:14chenai Nginx

最近在看高性能Linux服務(wù)器構(gòu)建實戰(zhàn)的Nginx章節(jié),對其nginx介紹的非常詳細(xì),現(xiàn)把經(jīng)常用到的Nginx配置參數(shù)中文說明摘錄和nginx做負(fù)載均衡的本人真實演示實例抄錄下來以便以后查看

PS:最近在看<<高性能Linux服務(wù)器構(gòu)建實戰(zhàn)>>的Nginx章節(jié),對其nginx介紹的非常詳細(xì),現(xiàn)把經(jīng)常用到的Nginx配置參數(shù)中文說明摘錄和nginx做負(fù)載均衡的本人真實演示實例抄錄下來以便以后查看!

Nginx配置參數(shù)中文詳細(xì)說明

#定義Nginx運(yùn)行的用戶和用戶組
user www www;
#
#nginx進(jìn)程數(shù),建議設(shè)置為等于CPU總核心數(shù).
worker_processes 8;
#
#全局錯誤日志定義類型,[ debug | info | notice | warn | error | crit ]
error_log /var/log/nginx/error.log info;
#
#進(jìn)程文件
pid /var/run/nginx.pid;
#
#一個nginx進(jìn)程打開的最多文件描述符數(shù)目,理論值應(yīng)該是最多打開文件數(shù)(系統(tǒng)的值ulimit -n)與nginx進(jìn)程數(shù)相除,但是nginx分配請求并不均勻,所以建議與ulimit -n的值保持一致.
worker_rlimit_nofile 65535;
#
#工作模式與連接數(shù)上限
events
{
    #參考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本內(nèi)核中的高性能網(wǎng)絡(luò)I/O模型,如果跑在FreeBSD上面,就用kqueue模型.
    use epoll;
    #單個進(jìn)程最大連接數(shù)(最大連接數(shù)=連接數(shù)*進(jìn)程數(shù))
    worker_connections 65535;
}
#
#設(shè)定http服務(wù)器
http
{
    include mime.types; #文件擴(kuò)展名與文件類型映射表
    default_type application/octet-stream; #默認(rèn)文件類型
    #charset utf-8; #默認(rèn)編碼
    server_names_hash_bucket_size 128; #服務(wù)器名字的hash表大小
    client_header_buffer_size 32k; #上傳文件大小限制
    large_client_header_buffers 4 64k; #設(shè)定請求緩
    client_max_body_size 8m; #設(shè)定請求緩
    #
    #開啟目錄列表訪問,合適下載服務(wù)器,默認(rèn)關(guān)閉.
    autoindex on;                   #顯示目錄
    autoindex_exact_size on;        #顯示文件大小 默認(rèn)為on,顯示出文件的確切大小,單位是bytes 改為off后,顯示出文件的大概大小,單位是kB或者M(jìn)B或者GB
    autoindex_localtime on;         #顯示文件時間 默認(rèn)為off,顯示的文件時間為GMT時間 改為on后,顯示的文件時間為文件的服務(wù)器時間
    #
    sendfile on; #開啟高效文件傳輸模式,sendfile指令指定nginx是否調(diào)用sendfile函數(shù)來輸出文件,對于普通應(yīng)用設(shè)為 on,如果用來進(jìn)行下載等應(yīng)用磁盤IO重負(fù)載應(yīng)用,可設(shè)置為off,以平衡磁盤與網(wǎng)絡(luò)I/O處理速度,降低系統(tǒng)的負(fù)載.注意:如果圖片顯示不正常把這個改成off.
    tcp_nopush on; #防止網(wǎng)絡(luò)阻塞
    tcp_nodelay on; #防止網(wǎng)絡(luò)阻塞
    #
    keepalive_timeout 120; #(單位s)設(shè)置客戶端連接保持活動的超時時間,在超過這個時間后服務(wù)器會關(guān)閉該鏈接
    #
    #FastCGI相關(guān)參數(shù)是為了改善網(wǎng)站的性能:減少資源占用,提高訪問速度.下面參數(shù)看字面意思都能理解.
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    #
    #gzip模塊設(shè)置
    gzip on; #開啟gzip壓縮輸出
    gzip_min_length 1k; #允許壓縮的頁面的最小字節(jié)數(shù),頁面字節(jié)數(shù)從header偷得content-length中獲取.默認(rèn)是0,不管頁面多大都進(jìn)行壓縮.建議設(shè)置成大于1k的字節(jié)數(shù),小于1k可能會越壓越大
    gzip_buffers 4 16k; #表示申請4個單位為16k的內(nèi)存作為壓縮結(jié)果流緩存,默認(rèn)值是申請與原始數(shù)據(jù)大小相同的內(nèi)存空間來存儲gzip壓縮結(jié)果
    gzip_http_version 1.1; #壓縮版本(默認(rèn)1.1,目前大部分瀏覽器已經(jīng)支持gzip解壓.前端如果是squid2.5請使用1.0)
    gzip_comp_level 2; #壓縮等級.1壓縮比最小,處理速度快.9壓縮比最大,比較消耗cpu資源,處理速度最慢,但是因為壓縮比最大,所以包最小,傳輸速度快
    gzip_types text/plain application/x-javascript text/css application/xml;
    #壓縮類型,默認(rèn)就已經(jīng)包含text/html,所以下面就不用再寫了,寫上去也不會有問題,但是會有一個warn.
    gzip_vary on;#選項可以讓前端的緩存服務(wù)器緩存經(jīng)過gzip壓縮的頁面.例如:用squid緩存經(jīng)過nginx壓縮的數(shù)據(jù)
    #
    #開啟限制IP連接數(shù)的時候需要使用
    #limit_zone crawler $binary_remote_addr 10m;
    #
    ##upstream的負(fù)載均衡,四種調(diào)度算法(下例主講)##
    #
    #虛擬主機(jī)的配置
    server
    {
        #監(jiān)聽端口
        listen 80;
        #域名可以有多個,用空格隔開
        server_name wangying.sinaapp.com;
        index index.html index.htm index.php;
        root /data/www/;
        location ~ .*\.(php|php5)?$
        {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
        #圖片緩存時間設(shè)置
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
            expires 10d;
        }
        #JS和CSS緩存時間設(shè)置
        location ~ .*\.(js|css)?$ {
            expires 1h;
        }

        #日志格式設(shè)定
        log_format access '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" $http_x_forwarded_for';
        #定義本虛擬主機(jī)的訪問日志
        access_log /var/log/nginx/access.log access;
        #
        #設(shè)定查看Nginx狀態(tài)的地址.StubStatus模塊能夠獲取Nginx自上次啟動以來的工作狀態(tài),此模塊非核心模塊,需要在Nginx編譯安裝時手工指定才能使用
        location /NginxStatus {
            stub_status on;
            access_log on;
            auth_basic "NginxStatus";
            auth_basic_user_file conf/htpasswd;
            #htpasswd文件的內(nèi)容可以用apache提供的htpasswd工具來產(chǎn)生.
        }
    }
}

Nginx多臺服務(wù)器實現(xiàn)負(fù)載均衡

Nginx負(fù)載均衡服務(wù)器:

IP:192.168.1.1
Web服務(wù)器列表:
Web1:192.168.1.2
Web2:192.168.1.3

實現(xiàn)目的:用戶訪問192.168.1.1服務(wù)器時,通過Nginx負(fù)載均衡到Web1和Web2服務(wù)器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
http
{
  ##upstream的負(fù)載均衡,四種調(diào)度算法##
  #調(diào)度算法1:輪詢.每個請求按時間順序逐一分配到不同的后端服務(wù)器,如果后端某臺服務(wù)器宕機(jī),故障系統(tǒng)被自動剔除,使用戶訪問不受影響
  upstream webhost {
    server 192.168.1.2:80 ;
    server 192.168.1.3:80 ;
  }
  #調(diào)度算法2:weight(權(quán)重).可以根據(jù)機(jī)器配置定義權(quán)重.權(quán)重越高被分配到的幾率越大
  upstream webhost {
    server 192.168.1.2:80 weight=2;
    server 192.168.1.3:80 weight=3;
  }
  #調(diào)度算法3:ip_hash. 每個請求按訪問IP的hash結(jié)果分配,這樣來自同一個IP的訪客固定訪問一個后端服務(wù)器,有效解決了動態(tài)網(wǎng)頁存在的session共享問題
  upstream webhost {
    ip_hash;
    server 192.168.1.2:80 ;
    server 192.168.1.3:80 ;
  }
  #調(diào)度算法4:url_hash(需安裝第三方插件).此方法按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個后端服務(wù)器,可以進(jìn)一步提高后端緩存服務(wù)器的效率.Nginx本身是不支持url_hash的,如果需要使用這種調(diào)度算法,必須安裝Nginx 的hash軟件包
  upstream webhost {
    server 192.168.1.2:80 ;
    server 192.168.1.3:80 ;
    hash $request_uri;
  }
  #調(diào)度算法5:fair(需安裝第三方插件).這是比上面兩個更加智能的負(fù)載均衡算法.此種算法可以依據(jù)頁面大小和加載時間長短智能地進(jìn)行負(fù)載均衡,也就是根據(jù)后端服務(wù)器的響應(yīng)時間來分配請求,響應(yīng)時間短的優(yōu)先分配.Nginx本身是不支持fair的,如果需要使用這種調(diào)度算法,必須下載Nginx的upstream_fair模塊
  #
  #虛擬主機(jī)的配置(采用調(diào)度算法3:ip_hash)
  server
  {
    listen 80;
    server_name wangying.sinaapp.com;
    #對 "/" 啟用反向代理
    location / {
      proxy_pass http://webhost;
      proxy_redirect off;
      proxy_set_header X-Real-IP $remote_addr;
      #后端的Web服務(wù)器可以通過X-Forwarded-For獲取用戶真實IP
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      #以下是一些反向代理的配置,可選.
      proxy_set_header Host $host;
      client_max_body_size 10m; #允許客戶端請求的最大單文件字節(jié)數(shù)
      client_body_buffer_size 128k; #緩沖區(qū)代理緩沖用戶端請求的最大字節(jié)數(shù),
      proxy_connect_timeout 90; #nginx跟后端服務(wù)器連接超時時間(代理連接超時)
      proxy_send_timeout 90; #后端服務(wù)器數(shù)據(jù)回傳時間(代理發(fā)送超時)
      proxy_read_timeout 90; #連接成功后,后端服務(wù)器響應(yīng)時間(代理接收超時)
      proxy_buffer_size 4k; #設(shè)置代理服務(wù)器(nginx)保存用戶頭信息的緩沖區(qū)大小
      proxy_buffers 4 32k; #proxy_buffers緩沖區(qū),網(wǎng)頁平均在32k以下的設(shè)置
      proxy_busy_buffers_size 64k; #高負(fù)荷下緩沖大小(proxy_buffers*2)
      proxy_temp_file_write_size 64k;
      #設(shè)定緩存文件夾大小,大于這個值,將從upstream服務(wù)器傳
    }
  }
}

測試篇
域名:wangying.sinaapp.com
分別解析到192.168.1.1
客戶訪問這三個站點的時候,Nginx根據(jù)客戶訪問的ip_hash值,負(fù)載均衡到Web1和Web2服務(wù)器上
虛擬主機(jī)的配置

本地單臺服務(wù)器實現(xiàn)動靜分離多端口反向代理配置
Nginx負(fù)載均衡服務(wù)器:
IP:192.168.1.1:80
Web服務(wù)器(同臺機(jī)器)列表:
Web1:192.168.1.1:8080
Web1:192.168.1.1:8081
Web1:192.168.1.1:8082
實現(xiàn)目的:
用戶訪問http://wangying.sinaapp.com,將其負(fù)載均衡到本地服務(wù)器的8080、8081、8082端口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
http
{
  #因為服務(wù)器負(fù)載均衡到本地的8080、8081、8082端口,所以本地要增開8080,8081,8082端口作腳本解析
  server {
    listen    8080;
    server_name  wangying.sinaapp.com;
    root /mnt/hgfs/vmhtdocs/fastdfs/;
 
    location ~ \.php$ {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include    fastcgi_params;
    }
    #由于下面80端口可知,8080,8081,8082只負(fù)責(zé)php動態(tài)程序解析,所以靜態(tài)文件配置就不用設(shè)置了
  }
  server {
    listen    8081;
    server_name  wangying.sinaapp.com;
    root /mnt/hgfs/vmhtdocs/fastdfs/;
    index index.php index.html index.htm;
    location ~ \.php$ {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include    fastcgi_params;
    }
  }
  #8082的可仿照上面的server配置只是修改listen即可
  #
  #本地多端口負(fù)載均衡配置#
  #因為是一臺服務(wù)器,所以可以127.0.0.1代替其內(nèi)網(wǎng)ip
  #upstream 后面的主機(jī)名只是一個標(biāo)識而已,可以是某個詞語,也可以是域名,它與 proxy_pass http://webhost 相對應(yīng)相同即可
  upstream webhost {
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
    server 127.0.0.1:8082;
  }
  #本地80端口,接受請求做負(fù)載均衡
  server
  {
    listen 80;
    server_name wangying.sinaapp.com;
    #本地動靜分離反向代理配置
    #所有php的頁面均交由本地fastcgi處理
    location ~ \.php$ {
      proxy_pass http://webhost;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    #所有靜態(tài)文件由nginx直接讀取
    #圖片緩存時間設(shè)置
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
      expires 10d;
    }
    #JS和CSS緩存時間設(shè)置
    location ~ .*\.(js|css)?$ {
      expires 1h;
    }
  }

下面是其他網(wǎng)友的補(bǔ)充

一、主配置段

1、正常運(yùn)行必備的配置
#運(yùn)行用戶和組,組身份可以省略
user nginx nginx;

#指定nginx守護(hù)進(jìn)程的pid文件
pid path/to/nginx.pid;

#指定所有worker進(jìn)程所能打開的最大文件句柄數(shù)
worker_rlimit_nofile 100000;

2、性能優(yōu)化相關(guān)的配置

#worker進(jìn)程的個數(shù),通常應(yīng)該略少于CPU物理核心數(shù),也可以使用auto自動獲取
worker_processes auto;

#CPU的親緣性綁定(同樣是無法避免CPU的上下文的切換的)
#優(yōu)點:提升緩存的命中率
#context switch:會產(chǎn)生CPU不必要的消耗

#http://blog.chinaunix.net/uid-20662363-id-2953741.html
work_cpu_affinity  00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

#計時器解析度(請求到達(dá)nginx,nginx相應(yīng)用戶請求后,要獲取系統(tǒng)時間并記錄日志,高并發(fā)的時候可能每秒鐘獲取很多很多次)
#降低此值,可以減少gettimeofday()系統(tǒng)調(diào)用的次數(shù)
timer_resolution 100ms;

#指明worker進(jìn)程的nice值:數(shù)字越小,優(yōu)先級越高
#nice值范圍:-20,19
#對應(yīng)的優(yōu)先級:100,139
worker_priority number;

二、事件相關(guān)的配置

events {
    #master調(diào)度用戶請求至個worker進(jìn)程時使用的負(fù)載均衡鎖:on表示能讓多個worker輪流地、序列化的響應(yīng)新請求
    accept_mutex {off|on}
   
    #延遲等待時間,默認(rèn)為500ms
    accept_mutex_delay time;
   
    #accept_mutex用到的鎖文件路徑
    lock_file file;
   
    #指明使用的時間模型:建議讓Nginx自行選擇
    use [epoll|rtsig|select|poll];
   
    #單個worker進(jìn)程打開的最大并發(fā)連接數(shù),worker_processes*worker_connections
    worker_connections 2048;
   
    #告訴nginx收到一個新鏈接通知后接受盡可能多的鏈接
    multi_accept on;   
}

三、用于調(diào)試、定位問題
#是否以守護(hù)進(jìn)程方式運(yùn)行nginx;調(diào)試時應(yīng)該設(shè)置為off
daemon {on|off}

#是否以master/worker模型來運(yùn)行;調(diào)試時可以設(shè)置為off
master_process {on|off}

#error_log 位置 級別,若要使用debug,需要在編譯nginx時使用--with-debug選項
error_log file | stderr | syslog:server=address[,parameter=value] | memory:size [debug|info|notice|warn|error|crit|alert|emerg];

總結(jié):常需要調(diào)整的參數(shù):worker_processes, worker_connections,work_cpu_affinity,worker_priority
新改動配置生效方式:
nginx -s reload其他參數(shù)stop,quit,reopen也可以使用nginx -h查看到

四、nginx作為web服務(wù)器使用的配置
http {}:由ngx_http_core_module模塊所引入
配置框架:
http {
    upstream {
        ...
    }
    server {
        location URL {
            root "/path/to/somedir"
            ...
        }#類似于httpd中的<Location>,用于定義URL與本地文件系統(tǒng)的映射關(guān)系
        location URL {
            if ... {
                ...
            }
        }
    }#每個server類似于httpd中的一個<VirtualHost>
    server {
        ...
    }
}
注意:與http相關(guān)的額指令僅能夠防止與http、server、location、upstream、if上下文,但有些指令僅應(yīng)用于這5種上下文的某些種。

http {
    #打開或關(guān)閉錯誤頁面中的nginx版本號
    server_tokens on;
    #!server_tag on;
    #!server_info on;
   
    #優(yōu)化磁盤IO設(shè)置,指定nginx是否調(diào)用sendfile函數(shù)來輸出文件,普通應(yīng)用設(shè)為on,下載等磁盤IO高的應(yīng)用,可設(shè)為off
    sendfile on;
    #設(shè)置nginx在一個數(shù)據(jù)包里發(fā)送所有頭文件,而不是一個接一個的發(fā)送
    tcp_nopush on;
    #設(shè)置nginx不要緩存數(shù)據(jù),而是一段一段的發(fā)送,
   
    #長連接的超時時長,默認(rèn)為75s
    keepalive_timeout 30;
    #在一個長連接所能夠允許請求的最大資源數(shù)
    keepalive_requests 20;
    #為制定類型的User Agent禁用長連接
    keepalive_disable [msie6|safari|none];
    #是否對長連接使用TCP_NODELAY選項,不將多個小文件合并傳輸
    tcp_nodelay on;
    #讀取http請求報文首部的超時時長
    client_header_timeout #;
    #讀取http請求報文body部分的超時時長
    client_body_timeout #;
    #發(fā)送響應(yīng)報文的超時時長
    send_timeout #;
   
    #設(shè)置用戶保存各種key的共享內(nèi)存的參數(shù),5m指的是5兆
    limit_conn_zone $binary_remote_addr zone=addr:5m;
    #為給定的key設(shè)置最大的連接數(shù),這里的key是addr,設(shè)定的值是100,就是說允許每一個IP地址最多同時打開100個連接
    limit_conn addr 100;

    #include指在當(dāng)前文件中包含另一個文件內(nèi)容
    include mime.types;
    #設(shè)置文件使用默認(rèn)的mine-type
    default_type text/html;
    #設(shè)置默認(rèn)字符集
    charset UTF-8;

    #設(shè)置nginx采用gzip壓縮的形式發(fā)送數(shù)據(jù),減少發(fā)送數(shù)據(jù)量,但會增加請求處理時間及CPU處理時間,需要權(quán)衡
    gzip on;
    #加vary給代理服務(wù)器使用,針對有的瀏覽器支持壓縮,有個不支持,根據(jù)客戶端的HTTP頭來判斷是否需要壓縮
    gzip_vary on;
    #nginx在壓縮資源之前,先查找是否有預(yù)先gzip處理過的資源
    #!gzip_static on;
    #為指定的客戶端禁用gzip功能
    gzip_disable "MSIE[1-6]\.";
    #允許或禁止壓縮基于請求和相應(yīng)的響應(yīng)流,any代表壓縮所有請求
    gzip_proxied any;
    #設(shè)置對數(shù)據(jù)啟用壓縮的最少字節(jié)數(shù),如果請求小于10240字節(jié)則不壓縮,會影響請求速度
    gzip_min_length 10240;
    #設(shè)置數(shù)據(jù)壓縮等級,1-9之間,9最慢壓縮比最大
    gzip_comp_level 2;
    #設(shè)置需要壓縮的數(shù)據(jù)格式
    gzip_types text/plain text/css text/xml text/javascript  application/json application/x-javascript application/xml application/xml+rss;

    #開發(fā)緩存的同時也指定了緩存文件的最大數(shù)量,20s如果文件沒有請求則刪除緩存
    open_file_cache max=100000 inactive=20s;
   
    #指多長時間檢查一次緩存的有效信息
    open_file_cache_valid 60s;
   
    #文件緩存最小的訪問次數(shù),只有訪問超過5次的才會被緩存
    open_file_cache_min_uses 5;
   
    #當(dāng)搜索一個文件時是否緩存錯誤信息
    open_file_cache_errors on;

    #允許客戶端請求的最大單文件字節(jié)數(shù)
    client_max_body_size 8m;
   
    #沖區(qū)代理緩沖用戶端請求的最大字節(jié)數(shù)
    client_header_buffer_size 32k;
   
    #引用/etc/nginx/vhosts下的所有配置文件,如果主機(jī)名眾多的情況下可以每個主機(jī)名建立一個文件,以方便管理
    include /etc/nginx/vhosts/*;
}

五、虛擬主機(jī)設(shè)定模塊
#負(fù)載均衡服務(wù)器列表(本人通常把負(fù)載均衡類別配置在相應(yīng)的虛擬主機(jī)的配置文件中)
upstream fansik {
    #后端服務(wù)器訪問規(guī)則
    ip_hash;
    #weight參數(shù)表示權(quán)重值,權(quán)值越高被分配到的幾率越大
    server 192.168.1.101:8081 weight=5;
    server 192.168.1.102:8081 max_fails=3 fail_timeout=10s;
}
server {
    #監(jiān)聽80端口
    listen 80;
    #定義主機(jī)名,主機(jī)名可以有多個,名稱還可以使用正則表達(dá)式(~)或通配符
    #(1)先做精確匹配檢查
    #(2)左側(cè)通配符匹配檢查:*.fansik.com
    #(3)右側(cè)通配符匹配檢查:mail.*
    #(4)正則表達(dá)式匹配檢查:如~^.*\.fansik\.com$
    #(5)detault_server
    server_name www.jfrwli.cn;
    #設(shè)定本虛擬主機(jī)的訪問日志
    access_log logs/www.jfrwli.cn.access.log;

    location [=|~|~*|^~] uri {...}
    功能:允許根據(jù)用戶請求的URI來匹配定義的個location,匹配到時,此請求將被相應(yīng)的location配置塊中的配置所處理
    =:表示精確匹配檢查
    ~:正則表達(dá)式模式匹配檢查,區(qū)分字符大小寫
    ~*:正則表達(dá)式模式匹配檢查,不區(qū)分字符大小寫
    ^~:URI的前半部分匹配,不支持正則表達(dá)式
    !~:開頭表示區(qū)分大小寫的不匹配的正則
    !~*:開頭表示不區(qū)分大小寫的不匹配的正則
    /:通用匹配,任何請求都會被匹配到
    location / {
        #定義服務(wù)器的默認(rèn)網(wǎng)站根目錄位置
        root html;
        #定義首頁索引文件的名稱
        index index.html index.htm;
        #引用反向代理的配置,配置文件目錄根據(jù)編譯參數(shù)而定
        #如果編譯時加入了--conf-path=/etc/nginx/nginx.conf指定了配置文件的路徑那么就把proxy.conf放在/etc/nginx/目錄下
        #如果沒有制定配置文件路徑那么就把proxy.conf配置放到nginx的conf目錄下
        include proxy.conf;   
        #定義后端負(fù)載服務(wù)器組
        proxy_pass http://fansik;
    }
    alias path和root path的區(qū)別;
    location /images/ {
        root "/data/images"
    }
    //www.jfrwli.cn/images/a.jpg <-- /data/images/images/a.jpg
    location /images/ {
        alias "/data/images/"
    }
    //www.jfrwli.cn/images/a.jpg <-- /data/images/a.jpg
   

    #定義錯誤提示頁面
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root html;
    }

    #設(shè)定查看Nginx狀態(tài)的地址
    #只能定義在location中
    #htpasswd -c -m /etc/nginx/.htpasswd fansik(-c 參數(shù)第一次創(chuàng)建時使用)
    location /Status {
        stub_status on;
        allow all;
        #access_log off;
        #allow 192.168.1.0/24;
        #deny all;
        #auth_basic "Status";
        #auth_basic_user_file /etc/nginx/.htpasswd;
    }
    status結(jié)果實例說明:
    Active connections: 1 (當(dāng)前所有處于打開狀態(tài)的連接數(shù))
    server accepts handled requests
    174(已經(jīng)接受進(jìn)來的連接) 174(已經(jīng)處理過的連接) 492(處理的請求,在保持連接模式下,請求數(shù)可能會多于連接數(shù)量)
    Reading: 0 Writing: 1 Waiting: 0
    Reading:正處于接受請求狀態(tài)的連接數(shù)
    Writing:請求接受完成,正處于處理請求或發(fā)送相應(yīng)的過程中的連接數(shù)
    Waiting:保持連接模式,且處于活動狀態(tài)的連接數(shù)
   
    #基于IP的訪問控制
    allow IP/Netmask
    deny IP/Netmask
    location ~ /\.ht {
        deny all;
    }
}

六、反向代理的配置(反向代理的配置通常放在單獨的配置文件中proxy.conf,通過include引用)

proxy_redirect off;
#后端的Web服務(wù)器可以通過X-Forwarded-For獲取用戶真實IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#nginx跟后端服務(wù)器連接超時時間(代理連接超時)
proxy_connect_timeout 60;
#連接成功后,后端服務(wù)器響應(yīng)時間(代理接收超時)
proxy_read_timeout 120;
#后端服務(wù)器數(shù)據(jù)回傳時間(代理發(fā)送超時)
proxy_send_timeout 20;
#設(shè)置代理服務(wù)器(nginx)保存用戶頭信息的緩沖區(qū)大小
proxy_buffer_size 32k;
#proxy_buffers緩沖區(qū),網(wǎng)頁平均在32k以下的設(shè)置
proxy_buffers 4 128k;
#高負(fù)荷下緩沖大小(proxy_buffers*2)
proxy_busy_buffers_size 256k;
#設(shè)定緩存文件夾大小,大于這個值,將從upstream服務(wù)器傳
proxy_temp_file_write_size 256k;
#1G內(nèi)存緩沖空間,3天不用刪除,最大磁盤緩沖空間2G
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=cache_one:1024m inactive=3d max_size=2g;

七、https服務(wù)的配置

server {
        listen       443 ssl;
        server_name  test.fansik.cn;
        ssl_certificate      100doc.cn.crt;
        ssl_certificate_key  100doc.cn.key;    
        ssl_session_cache    shared:SSL:1m;
        ssl_protocols SSLv2 SSLv3 TLSv1;
        ssl_session_timeout  5m;       
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers  on;      
        location / {
                root /data/app
                index  index.html index.htm;
        }
}

八、url地址重寫
rewrite regex replacment flag
例如:rewrite ^/images/(.*\.jpg)$ /imgs/$1 break;#$1是前面括號中的內(nèi)容哦
//www.jfrwli.cn/images/a/1.jpg --> //www.jfrwli.cn/imgs/a/1.jpg
flag:
    last:一旦此rewrite規(guī)則重寫完成后,不再被后面其他的rewrite規(guī)則進(jìn)行處理,
    而是由User Agent重新對重寫后的URL再一次發(fā)起請求,并從頭開始執(zhí)行類似的過程。
    break:一旦此rewrite規(guī)則重寫完成之后,由User Agent對新的URL重新發(fā)起請求,
    且不會被當(dāng)前l(fā)ocation內(nèi)的任何rewrite規(guī)則過檢查
    redirect:以302響應(yīng)碼(臨時重定向)返回新的URL
    permanent:以301響應(yīng)碼(永久重定向)返回新的URL

九、if判斷
語法:if (condition) {...}
應(yīng)用環(huán)境:server,location
condition:
(1)變量名:
變量值為空串,或者以"0"開始,則為false,其他的均為true
(2)以變量為操作數(shù)構(gòu)成的比較表達(dá)式
可以使用=,!=類似的比較操作符進(jìn)行測試
(3)正則表達(dá)式的模式匹配操作
~:區(qū)分大小寫的模式匹配檢查
~*:不區(qū)分大小寫的模式匹配檢查
!~和!~*:對上面兩種測試取反
(4)測試路徑為文件可能性:-f ,~-f
(5)測試制定路徑為目錄的可能性:-d,!-d
(6)測試文件存在性:-e,!-e
(7)檢查文件是否有執(zhí)行權(quán)限:-x,!-x
例如:

if($http_user_agent ~* MSIE){
    rewrite ^(.*)$ /msie/$1 break;
}

十、防盜鏈

location ~* \.(jpg|gif|jpeg|png)$ {
    valid_referer none blocked www.jfrwli.cn;
    if ($invalid_referer) {
        rewrite ^/ //www.jfrwli.cn/403.html;
    }
}

總結(jié):

最后推薦一個深入學(xué)習(xí)Nginx的網(wǎng)站:

http://tengine.taobao.org/book/index.html

到此這篇關(guān)于Nginx配置參數(shù)中文說明詳解(負(fù)載均衡與反向代理)的文章就介紹到這了,更多相關(guān)Nginx參數(shù)中文解釋內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:http://wangying.sinaapp.com/archives/931

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 香蕉av777xxx色综合一区 | 91视频.com| 在线a人片免费观看视频 | 久久午夜精品 | 成人久久久 | 国产精品1区2区在线观看 | 久久精品久久久 | 黄视频免费观看网站 | 久久久国产一区二区 | 国产白浆在线观看 | 中文字幕一区二区三区四区 | 日韩在线一区二区 | 日本三级韩国三级三级a级中文 | 欧美大片高清在线观看平台 | 中文在线视频 | 香蕉视频成人在线观看 | 国产一区二区在线看 | 一级久久久 | 羞羞的网站 | 色狠狠久久av五月综合 | 亚洲bbw | 久久九| 亚洲综合二区 | 天天夜操 | av中文字幕免费在线观看 | 一级片在线观看 | 日韩欧美精品在线 | 国产资源免费观看 | 四虎影| 天堂中文网官网 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产三级在线 | 欧美精品国产精品 | 福利片在线观看 | 亚洲精品久久久久国产 | 国产精品一区二区久久 | 日韩欧美不卡 | 精品久久久久久久久久久久久久久久久久久 | 伊人激情综合 | 国外成人在线视频网站 | 中文字幕一区二区三区在线视频 |