91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nginx之nginx.conf配置詳解

發布時間:2020-09-10 00:10:03 來源:網絡 閱讀:561 作者:haitaoliu 欄目:建站服務器


#配置用戶或者組,默認為nobody nobody

user nobody;

#啟動進程,根據硬件調整,通常等于CPU數量或者2倍于CPU

worker_processes  1;

#指定日志路徑,級別。這個設置可以放入全局塊,http塊,server塊,級別以此為:debug|info|notice|warn|error|crit|alert|emerg

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#指定nginx進程運行文件存放地址

pid        logs/nginx.pid;

#工作模式及連接數上限

events {

#設置網路連接序列化,防止驚群現象發生,默認為on

    accept_mutex on;


#設置一個進程是否同時接受多個網絡連接,默認為off

multi_accept on;


   #epoll是多路復用IO(I/O Multiplexing)中的一種方式,

   #僅用于linux2.6以上內核,可以大大提高nginx的性能

#linux建議epoll,FreeBSD建議采用kqueue,window下不指定。

#補充說明: 與apache相類,nginx針對不同的操作系統,有不同的事件模型

#A)標準事件模型:Select、poll屬于標準事件模型,如果當前系統不存在更有效的方法,nginx會選擇select或poll

#B)高效事件模型:Kqueue:使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 和 MacOS X.使用雙處理器的MacOS X系統使用kqueue可能會造成內核崩潰。

#Epoll:使用于Linux內核2.6版本及以后的系統。

#/dev/poll:使用于Solaris 7 11/99+,HP/UX 11.22+ (eventport),IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+。

#Eventport:使用于Solaris 10。 為了防止出現內核崩潰的問題, 有必要安裝安全補丁

# use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]

use   epoll;

   #單個后臺worker process進程的最大并發鏈接數    

worker_connections  1024;

   # 并發總數是 worker_processes 和 worker_connections 的乘積

   # 即 max_clients = worker_processes * worker_connections

   # 在設置了反向代理的情況下,max_clients = worker_processes * worker_connections / 4  為什么

   # 為什么上面反向代理要除以4,應該說是一個經驗值

   # 根據以上條件,正常情況下的Nginx Server可以應付的最大連接數為:4 * 8000 = 32000

   # worker_connections 值的設置跟物理內存大小有關

   # 因為并發受IO約束,max_clients的值須小于系統可以打開的最大文件數

   # 而系統可以打開的最大文件數和內存大小成正比,一般1GB內存的機器上可以打開的文件數大約是10萬左右

   # 我們來看看360M內存的VPS可以打開的文件句柄數是多少:

   # $ cat /proc/sys/fs/file-max

   # 輸出 34336

   # 32000 < 34336,即并發連接總數小于系統可以打開的文件句柄總數,這樣就在操作系統可以承受的范圍之內

   # 所以,worker_connections 的值需根據 worker_processes 進程數目和系統可以打開的最大文件總數進行適當地進行設置

   # 使得并發總數小于操作系統可以打開的最大文件數目

   # 其實質也就是根據主機的物理CPU和內存進行配置

   # 當然,理論上的并發總數可能會和實際有所偏差,因為主機還有其他的工作進程需要消耗系統資源。

   # ulimit -SHn 65535


#keepalive超時時間

    keepalive_timeout 60;


#客戶端請求頭部的緩沖區大小。這個可以根據你的系統分頁大小來設置,一般一個請求頭的大小不會超過1k,

#不過由于一般系統分頁都要大于1k,所以這里設置為分頁大小。分頁大小可以用命令getconf PAGESIZE 取得。

#但也有client_header_buffer_size超過4k的情況,但是client_header_buffer_size該值必須設置為“系統分頁大小”的整倍數

    client_header_buffer_size 4k;


#這個將為打開文件指定緩存,默認是沒有啟用的,max指定緩存數量,建議和打開文件數一致,inactive是指經過多長時間文件沒被請求后刪除緩存。

    open_file_cache max=65535 inactive=60s;

#這個是指多長時間檢查一次緩存的有效信息

    open_file_cache_valid 80s;

#open_file_cache指令中的inactive參數時間內文件的最少使用次數,如果超過這個數字,

#文件描述符一直是在緩存中打開的,如上例,如果有一個文件在inactive時間內一次沒被使用,它將被移除。

    open_file_cache_min_uses 1;

}

http {

   #隱藏nginx的版本號

    server_tokens  off;


   #設定mime類型,類型由mime.type文件定義

include    mime.types;


#默認文件類型

default_type  application/octet-stream;


#默認編碼

    charset utf-8;


#取消服務日志

    access_log off;


   #設定日志格式

#$remote_addr 與$http_x_forwarded_for 用以記錄客戶端的ip地址;

#$remote_user:用來記錄客戶端用戶名稱;

#$time_local:用來記錄訪問時間與時區;

#$request:用來記錄請求的url與http協議;

#$status:用來記錄請求狀態;成功是200,

#$body_bytes_sent:記錄發送給客戶端文件主體內容大小;

#$http_referer:用來記錄從那個頁面鏈接訪問過來的;

#$http_user_agent:記錄客戶瀏覽器的相關信息;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

#combined為日志格式的默認值

access_log  logs/access.log  main;


#服務器名字的hash表大小

#保存服務器名字的hash表是由指令server_names_hash_max_size 和server_names_hash_bucket_size所控制的。參數hash bucket #size總是等于hash表的大小,并且是一路處理器緩存大小的倍數。在減少了在內存中的存取次數后,使在處理器中加速查找hash表鍵值成為可能。如果hash bucket #size等于一路處理器緩存的大小,那么在查找鍵的時候,最壞的情況下在內存中查找的次數為2。第一次是確定存儲單元的地址,第二次是在存儲單元中查找鍵 #值。因此,如果Nginx給出需要增大hash max size 或 hash bucket size的提示,那么首要的是增大前一個參數的大小.

    server_names_hash_bucket_size 128;


    client_header_buffer_size 32k;


#客戶請求頭緩沖大小。nginx默認會用client_header_buffer_size這個buffer來讀取header值,如果

#header過大,它會使用 large_client_header_buffers 來讀取。

    large_client_header_buffers 8 128k;

#這個指令指定緩存是否啟用;打開緩存的同時也指定了緩存最大數目,以及緩存的時間。

#我們可以設置一個相對高的最大時間,這樣我們可以在它們不活動超過20秒后清除掉

    open_file_cache max=100000 inactive=20s;


#在open_file_cache中指定檢測正確信息的間隔時間。

    open_file_cache_valid 30s;


#定義了open_file_cache中指令參數不活動時間期間里最小的文件數。使用字段:http, server, location

    open_file_cache_min_uses 2;


#指定了當搜索一個文件時是否緩存錯誤信息,也包括再次給配置中添加文件。

#使用字段:http, server, location

    open_file_cache_errors on;


#設定通過nginx上傳文件的大小

    client_max_body_size 300m;

   #sendfile 指令指定 nginx 是否調用 sendfile 函數(zero copy 方式)來輸出文件,

   #對于普通應用,必須設為 on,

   #如果用來進行下載等應用磁盤IO重負載應用,可設置為 off,

   #以平衡磁盤與網絡I/O處理速度,降低系統的uptime.

sendfile     on;


   #連接超時時間

keepalive_timeout  65;


#后端服務器連接的超時時間_發起握手等候響應超時時間

    proxy_connect_timeout 90;


#連接成功后_等候后端服務器響應時間_其實已經進入后端的排隊之中等候處理(也可以說是后端服務器處理請求的時間)

    proxy_read_timeout 180;

#后端服務器數據回傳時間_就是在規定時間之內后端服務器必須傳完所有的數據

    proxy_send_timeout 180;

#設置代理服務器(nginx)保存用戶頭信息的緩沖區大小

    proxy_buffer_size 256k;

#設置用于讀取應答(來自被代理服務器)的緩沖區數目和大小,默認情況也為分頁大小,根據操作系統的不同可能是4k或者8k

    proxy_buffers 4 256k;


#高負荷下緩沖大小(proxy_buffers*2)

    proxy_busy_buffers_size 256k;


#緩沖區代理緩沖用戶端請求的最大字節數

    client_body_buffer_size


#設置在寫入proxy_temp_path時數據的大小,預防一個工作進程在傳遞文件時阻塞太長;

#設定緩存文件夾大小,大于這個值,將從upstream服務器傳

    proxy_temp_file_write_size 256k;


#告訴nginx在一個數據包里發送所有頭文件,而不一個接一個的發送

    tcp_nopush on;


#告訴nginx不要緩存數據,而是一段一段的發送

tcp_nodelay     on;

#開啟gzip壓縮

gzip  on;


#為指定的客戶端禁用gzip功能。我們設置成IE6或者更低版本以使我們的方案能夠廣泛兼容。

   gzip_disable "MSIE [1-6].";

#告訴nginx在壓縮資源之前,先查找是否有預先gzip處理過的資源。這要求你預先壓縮你的文件(在這個例子中被注釋掉了)

#從而允許你使用最高壓縮比,這樣nginx就不用再壓縮這些文件了(想要更詳盡的gzip_static的信息,請點擊這里)。

    gzip_static on;

#允許或者禁止壓縮基于請求和響應的響應流。我們設置為any,意味著將會壓縮所有的請求。

    gzip_proxied  any;

#最小壓縮文件大小

    gzip_min_length 1k;


#壓縮緩沖區

    gzip_buffers 4 16k;


#壓縮版本(默認1.1,前端如果是squid2.5請使用1.0)

    gzip_http_version 1.0;


#壓縮等級

    gzip_comp_level 2;


#壓縮類型,默認就已經包含text/html,所以下面就不用再寫了,寫上去也不會有問題,但是會有一個warn。

    gzip_types text/plain application/x-javascript text/css application/xml;


#和http頭有關系,加個vary頭,給代理服務器用的,有的瀏覽器支持壓縮,有的不支持,所以避免浪費不支持的也壓縮,所以根據客戶端的HTTP頭來判斷,是否需要壓縮

    gzip_vary on;


#limit_zone crawler $binary_remote_addr 10m; #開啟限制IP連接數的時候需要使用

    upstream mysvr {


#nginx的upstream目前支持4種方式的分配

#1、輪詢(默認)每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。

#2、weight 指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。

#3、ip_hash 每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。

#4、fair(第三方):按后端服務器的響應時間來分配請求,響應時間短的優先分配。

#5、url_hash(第三方):按訪問url的hash結果來分配請求,使每個url定向到同一個后端服務器,后端服務器為緩存時比較有效。

#每個設備的狀態設置為:

#1.down表示單前的server暫時不參與負載

#2.weight為weight越大,負載的權重就越大。

#3.max_fails:允許請求失敗的次數默認為1.當超過最大次數時,返回proxy_next_upstream模塊定義的錯誤

#4.fail_timeout:max_fails次失敗后,暫停的時間。

#5.backup: 其它所有的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。

    server 127.0.0.1:7878 down;

    server 192.168.10.121:3333 backup;  #熱備

    server 192.168.10.122:3333 weight=2;

    server 192.168.10.123:3333 max_fails=2 fail_timeout=3s;

    }

   #設定虛擬主機配置

server {


    #單連接請求上限次數。

    keepalive_requests 120;


       #偵聽80端口

listen    80;


#定義使用 localhost訪問

server_name  localhost;

  #定義服務器的默認網站根目錄位置

root html;

#設定本虛擬主機的訪問日志

access_log  logs/nginx.access.log  main;

#默認請求:location對URL進行匹配.可以進行重定向或者進行新的代理 負載均衡

location / {

 #后端的Web服務器可以通過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;

#請求轉向mysvr 定義的服務器列表

    proxy_pass mysvr;


    proxy_redirect default;


         #定義首頁索引文件的名稱

index index.php index.html index.htm;

}

#防止網絡爬蟲

    if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") {

return 403;

    }

  # 定義錯誤提示頁面

error_page   500 502 503 504 /50x.html;

location = /50x.html {

}

       #靜態文件,nginx自己處理 ,正則匹配,~為區分大小寫,~*為不區分大小寫

location ~ ^/(p_w_picpaths|javascript|js|css|flash|media|static)/ {

 #讓客戶端緩存不常改變的數據

           #過期30天,靜態文件不怎么更新,過期可以設大一點,

           #如果頻繁更新,則可以設置得小一點。

expires 30d;

}

       #PHP 腳本請求全部轉發到 FastCGI處理. 使用FastCGI默認配置.

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;

}

       #禁止訪問 .htxxx 文件

location ~ /.ht {

#設置默認頁


    index vv.txt;


#root path;  #根目錄

deny all;

#拒絕的ip

    deny 127.0.0.1;

#允許的ip  

allow 172.18.5.54;

}

}

}



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌乐县| 綦江县| 绥滨县| 大渡口区| 日照市| 乌兰浩特市| 海口市| 禹城市| 武功县| 虹口区| 乃东县| 潞城市| 封丘县| 韶关市| 呈贡县| 塔城市| 农安县| 绥棱县| 阿拉善左旗| 肇庆市| 清新县| 太康县| 利川市| 安徽省| 武清区| 台东市| 巴塘县| 西峡县| 锦州市| 万山特区| 府谷县| 罗源县| 房山区| 广南县| 桦南县| 平凉市| 绥宁县| 古浪县| 海门市| 湄潭县| 乌海市|