小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Nginx 配置文件nginx.conf的完整配置說(shuō)明

 WindySky 2016-04-11

研究這個(gè)東西好多天了...沒(méi)人教,難啊...什么都得一個(gè)一個(gè)搜索。Fuck

來(lái)源 v

51cto

http://blog./tags/nginx/

中文文檔:http://wiki./NginxChs

#用戶 用戶組
user www www;
#工作進(jìn)程,根據(jù)硬件調(diào)整,有人說(shuō)幾核cpu,就配幾個(gè),我覺(jué)得可以多一點(diǎn)
worker_processes 5;
#錯(cuò)誤日志
error_log logs/error.log;
#pid文件位置
pid logs/nginx.pid;
worker_rlimit_nofile 8192;

events {
#工作進(jìn)程的最大連接數(shù)量,根據(jù)硬件調(diào)整,和前面工作進(jìn)程配合起來(lái)用,盡量大,但是別把cpu跑到100%就行
worker_connections 4096;
}

http {
include conf/mime.types;
#反向代理配置,可以打開(kāi)proxy.conf看看
include /etc/nginx/proxy.conf;
#fastcgi配置,可以打開(kāi)fastcgi.conf看看
include /etc/nginx/fastcgi.conf;

default_type application/octet-stream;
#日志的格式
log_format main ‘$remote_addr – $remote_user [$time_local] $status ‘
‘”$request” $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”’;
#訪問(wèn)日志
access_log logs/access.log main;
sendfile on;
tcp_nopush on;
#根據(jù)實(shí)際情況調(diào)整,如果server很多,就調(diào)大一點(diǎn)
server_names_hash_bucket_size 128; # this seems to be required for some vhosts

#這個(gè)例子是fastcgi的例子,如果用fastcgi就要仔細(xì)看
server { # php/fastcgi
listen 80;
#域名,可以有多個(gè)
server_name domain1.com www.domain1.com;
#訪問(wèn)日志,和上面的級(jí)別不一樣,應(yīng)該是下級(jí)的覆蓋上級(jí)的
access_log logs/domain1.access.log main;
root html;

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

#所有php后綴的,都通過(guò)fastcgi發(fā)送到1025端口上
#上面include的fastcgi.conf在此應(yīng)該是有作用,如果你不include,那么就把fastcgi.conf的配置項(xiàng)放在這個(gè)下面。
location ~ .php$ {
fastcgi_pass 127.0.0.1:1025;
}
}

#這個(gè)是反向代理的例子
server { # simple reverse-proxy
listen 80;
server_name domain2.com www.domain2.com;
access_log logs/domain2.access.log main;

#靜態(tài)文件,nginx自己處理
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
root /var/www/virtual/big.server.com/htdocs;
#過(guò)期30天,靜態(tài)文件不怎么更新,過(guò)期可以設(shè)大一點(diǎn),如果頻繁更新,則可以設(shè)置得小一點(diǎn)。
expires 30d;
}

#把請(qǐng)求轉(zhuǎn)發(fā)給后臺(tái)web服務(wù)器,反向代理和fastcgi的區(qū)別是,反向代理后面是web服務(wù)器,fastcgi后臺(tái)是fasstcgi監(jiān)聽(tīng)進(jìn)程,當(dāng)然,協(xié)議也不一樣。
location / {
proxy_pass http://127.0.0.1:8080;
}
}

#upstream的負(fù)載均衡,weight是權(quán)重,可以根據(jù)機(jī)器配置定義權(quán)重。據(jù)說(shuō)nginx可以根據(jù)后臺(tái)響應(yīng)時(shí)間調(diào)整。后臺(tái)需要多個(gè)web服務(wù)器。

01 upstream big_server_com {
02 server 127.0.0.3:8000 weight=5;
03 server 127.0.0.3:8001 weight=5;
04 server 192.168.0.1:8000;
05 server 192.168.0.1:8001;
06
07   
08 server {
09 listen 80;
10 server_name big.server.com;
11 access_log logs/big.server.access.log main; 
12   
13 location / {
14 proxy_pass http://big_server_com;
15 }
16 }
17 }

—————————————–

Nginx 安置后只有一個(gè)法式文件,自己并不供給各類辦理法式,它是利用參數(shù)和體系旌旗燈號(hào)機(jī)制對(duì) Nginx 歷程自己舉行節(jié)制的。 Nginx 的參數(shù)包羅有如下幾個(gè):

-c :利用指定的設(shè)置裝備擺設(shè)文件而不是 conf 目次下的 nginx.conf 。

-t:測(cè)試設(shè)置裝備擺設(shè)文件是否準(zhǔn)確,在運(yùn)行時(shí)必要從頭加載設(shè)置裝備擺設(shè)的時(shí)辰,此號(hào)令很是主要,用來(lái)檢測(cè)所點(diǎn)竄的設(shè)置裝備擺設(shè)文件是否有語(yǔ)法錯(cuò)誤。

-v:表現(xiàn) nginx 版本號(hào)。

-V:表現(xiàn) nginx 的版本號(hào)以及編譯情況信息以及編譯時(shí)的參數(shù)。

比方我們要測(cè)試某個(gè)設(shè)置裝備擺設(shè)文件是否謄寫(xiě)準(zhǔn)確,我們可以利用以下號(hào)令

sbin/nginx – t – c conf/nginx2.conf

 

經(jīng)由過(guò)程旌旗燈號(hào)對(duì) Nginx 舉行節(jié)制

Nginx 撐持下表中的旌旗燈號(hào):

 

 

 

 

 旌旗燈號(hào)名

 

 

 

 

 感化形貌

 

 

 

 

 TERM, INT

 

 

 

 

 快速封閉法式,中斷當(dāng)前正在處置的懇求

 

 

 

 

 QUIT

 

 

 

 

 處置完當(dāng)前懇求后,封閉法式

 

 

 

 

 HUP

 

 

 

 

 從頭加載設(shè)置裝備擺設(shè),并開(kāi)啟新的事情歷程,封閉就的歷程,此操縱不會(huì)間斷懇求

 

 

 

 

 USR1

 

 

 

 

 從頭打開(kāi)日記文件,用于切換日記,比方天天天生一個(gè)新的日記文件

 

 

 

 

 USR2

 

 

 

 

 光滑進(jìn)級(jí)可實(shí)行法式

 

 

 

 

 WINCH

 

 

 

 

 自在封閉事情歷程

有兩種體例來(lái)經(jīng)由過(guò)程這些旌旗燈號(hào)去節(jié)制 Nginx,第一是經(jīng)由過(guò)程 logs 目次下的 nginx.pid 檢察當(dāng)前運(yùn)行的 Nginx 的歷程 ID,經(jīng)由過(guò)程 kill – XXX 來(lái)節(jié)制 Nginx,此中 XXX 便是上表中列出的旌旗燈號(hào)名。若是您的體系中只有一個(gè) Nginx 歷程,那您也可以經(jīng)由過(guò)程 killall 號(hào)令來(lái)完成,比方運(yùn)行 killall – s HUP nginx 來(lái)讓 Nginx 從頭加載設(shè)置裝備擺設(shè)。

設(shè)置裝備擺設(shè) Nginx

先來(lái)看一個(gè)現(xiàn)實(shí)的設(shè)置裝備擺設(shè)文件:

user  nobody;# 事情歷程的屬主
 worker_processes  4;# 事情歷程數(shù),一樣平常與 CPU 核數(shù)等同

 #error_log  logs/error.log;
 #error_log  logs/error.log  notice;
 #error_log  logs/error.log  info; 

 #pid        logs/nginx.pid; 

 events {
    use epoll;#Linux 下機(jī)能最好的 event 模式
    worker_connections  2048;# 每個(gè)事情歷程許可最大的同時(shí)毗連數(shù)
 } 

 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  off;
    access_log  logs/access.log;# 日記文件名

    sendfile        on;
    #tcp_nopush     on;
    tcp_nodelay     on; 

    keepalive_timeout  65; 

    include   gzip.conf; 

    # 集群中的全部背景辦事器的設(shè)置裝備擺設(shè)信息
    upstream tomcats {
  server 192.168.0.11:8080 weight=10;
  server 192.168.0.11:8081 weight=10;
  server 192.168.0.12:8080 weight=10;
  server 192.168.0.12:8081 weight=10;
  server 192.168.0.13:8080 weight=10;
  server 192.168.0.13:8081 weight=10;
    } 

    server {
        listen       80;#HTTP 的端口
        server_name  localhost; 

        charset utf-8; 

        #access_log  logs/host.access.log  main; 

  location ~ ^/NginxStatus/ {
     stub_status on; #Nginx 狀況監(jiān)控設(shè)置裝備擺設(shè)
     access_log off;
  } 

  location ~ ^/(WEB-INF)/ {
     deny all;
  } 

  location ~ \.(htm|html|asp|php|gif|jpg|jpeg|png|bmp|ico|rar|css|js|
  zip|java|jar|txt|flv|swf|mid|doc|ppt|xls|pdf|txt|mp3|wma)$ {
             root /opt/webapp;
     expires 24h;
        } 

        location / {
     proxy_pass http://tomcats;# 反向代辦署理
     include proxy.conf;
        } 

        error_page 404 /html/404.html; 

        # redirect server error pages to the static page /50x.html
        #
  error_page 502 503 /html/502.html;
        error_page 500 504 /50x.html;
        location = /50x.html {
            root   html;
        }
    }
 }

 

Nginx 監(jiān)控

上 面是一個(gè)現(xiàn)實(shí)網(wǎng)站的設(shè)置裝備擺設(shè)實(shí)例,此中灰色筆墨為設(shè)置裝備擺設(shè)申明。上述設(shè)置裝備擺設(shè)中,起首我們界說(shuō)了一個(gè) location ~ ^/NginxStatus/,如許經(jīng)由過(guò)程 http://localhost/NginxStatus/ 就可以監(jiān)控到 Nginx 的運(yùn)行信息,表現(xiàn)的內(nèi)容如下:

Active connections: 70
server accepts handled requests
 14553819 14553819 19239266
Reading: 0 Writing: 3 Waiting: 67

 

NginxStatus 表現(xiàn)的內(nèi)容意思如下:

  • active connections – 當(dāng)前 Nginx 正處置的勾當(dāng)毗連數(shù)。
  • server accepts handled requests — 統(tǒng)共處置了 14553819 個(gè)毗連 , 樂(lè)成建立 14553819 次握手 ( 證實(shí)中心沒(méi)有失敗的 ), 統(tǒng)共處置了 19239266 個(gè)懇求 ( 均勻每次握手處置了 1.3 個(gè)數(shù)據(jù)懇求 )。
  • reading — nginx 讀取到客戶真?zhèn)€ Header 信息數(shù)。
  • writing — nginx 返回給客戶真?zhèn)€ Header 信息數(shù)。
  • waiting — 開(kāi)啟 keep-alive 的環(huán)境下,這個(gè)值即是 active – (reading + writing),意思便是 Nginx 已經(jīng)處置完正在等待下一次懇求指令的駐留毗連。

靜態(tài)文件處置

經(jīng)由過(guò)程正則表達(dá)式,我們可讓 Nginx 辨認(rèn)出各類靜態(tài)文件,比方 images 路徑下的全部懇求可以寫(xiě)為:

location ~ ^/images/ {
    root /opt/webapp/images;
}

 

而下面的設(shè)置裝備擺設(shè)則界說(shuō)了幾種文件范例的懇求處置體例。

location ~ \.(htm|html|gif|jpg|jpeg|png|bmp|ico|css|js|txt)$ {
    root /opt/webapp;
    expires 24h;
}

 

對(duì)付比方圖片、靜態(tài) HTML 文件、js 劇本文件和 css 樣式文件等,我們但愿 Nginx 直接處置并返回給欣賞器,如許可以大大的加速網(wǎng)頁(yè)欣賞時(shí)的速率。是以對(duì)付這類文件我們必要經(jīng)由過(guò)程 root 指令來(lái)指定文件的存放路徑,同時(shí)由于這類文件并不常點(diǎn)竄,經(jīng)由過(guò)程 expires 指令來(lái)節(jié)制其在欣賞器的緩存,以削減不需要的懇求。 expires 指令可以節(jié)制 HTTP 應(yīng)答中的“ Expires ”和“ Cache-Control ”的頭標(biāo)(起到節(jié)制頁(yè)面緩存的感化)。您可以利用比方以下的格局來(lái)謄寫(xiě) Expires:

expires 1 January, 1970, 00:00:01 GMT;
expires 60s;
expires 30m;
expires 24h;
expires 1d;
expires max;
expires off;

 

動(dòng)態(tài)頁(yè)面懇求處置

Nginx 自己并不撐持此刻風(fēng)行的 JSP、ASP、PHP、PERL 等動(dòng)態(tài)頁(yè)面,可是它可以經(jīng)由過(guò)程反向代辦署理將懇求發(fā)送到后真?zhèn)€辦事器,比方 Tomcat、Apache、IIS 等來(lái)完成動(dòng)態(tài)頁(yè)面的懇求處置。前面的設(shè)置裝備擺設(shè)示例中,我們起首界說(shuō)了由 Nginx 直接處置的一些靜態(tài)文件懇求后,其他全部的懇求經(jīng)由過(guò)程 proxy_pass 指令傳送給后真?zhèn)€辦事器(在上述例子中是 Tomcat)。最簡(jiǎn)略的 proxy_pass 用法如下:

location / {
    proxy_pass        http://localhost:8080;
    proxy_set_header  X-Real-IP  $remote_addr;
}

 

這里我們沒(méi)有利用到集群,而是將懇求直接送到運(yùn)行在 8080 端口的 Tomcat 辦事上來(lái)完成近似 JSP 和 Servlet 的懇求處置。

當(dāng)頁(yè)面的拜候量很是大的時(shí)辰,每每必要多個(gè)應(yīng)用辦事器來(lái)配合負(fù)擔(dān)動(dòng)態(tài)頁(yè)面的實(shí)行操縱,這時(shí)我們就必要利用集群的架構(gòu)。 Nginx 經(jīng)由過(guò)程 upstream 指令來(lái)界說(shuō)一個(gè)辦事器的集群,最前面阿誰(shuí)完備的例子中我們界說(shuō)了一個(gè)名為 tomcats 的集群,這個(gè)集群中包羅了三臺(tái)辦事器共 6 個(gè) Tomcat 辦事。而 proxy_pass 指令的寫(xiě)法釀成了:

location / {
    proxy_pass        http://tomcats;
    proxy_set_header  X-Real-IP  $remote_addr;
}

 

在 Nginx 的集群設(shè)置裝備擺設(shè)中,Nginx 利用最簡(jiǎn)略的均勻分派法則給集群中的每個(gè)節(jié)點(diǎn)分派懇求。一旦某個(gè)節(jié)點(diǎn)失效時(shí),大概從頭起效時(shí),Nginx 城市很是實(shí)時(shí)的處置狀況的轉(zhuǎn)變,以包管不會(huì)影響到用戶的拜候。

總結(jié)

盡 管整個(gè)法式包只有五百多 K,但麻雀雖小、五臟俱全。 Nginx 官方供給的各類功效模塊包羅萬(wàn)象,連系這些模塊可以完備各類百般的設(shè)置裝備擺設(shè)要求,比方:壓縮、防盜鏈、集群、FastCGI、流媒體辦事器、 Memcached 撐持、URL 重寫(xiě)等等,更關(guān)頭的是 Nginx 擁有 Apache 和其他 HTTP 辦事器無(wú)法對(duì)比的高機(jī)能。您乃至可以在不轉(zhuǎn)變?cè)芯W(wǎng)站的架構(gòu)上,經(jīng)由過(guò)程在前端引入 Nginx 來(lái)晉升網(wǎng)站的拜候速率。

本文只是簡(jiǎn)略先容了 Nginx 的安置以及常見(jiàn)的根基的設(shè)置裝備擺設(shè)和利用,更多關(guān)于 Nginx 的信息請(qǐng)閱讀文章背面的參考資本。在這里要很是感激我的伴侶——陳磊(chanix@msn.com),他一向在做 Nginx 的中文 WIKI(http://wiki./NginxChs),同時(shí)也是他先容給我這么好的一款軟件。

若是您的網(wǎng)站是運(yùn)行在 Linux 下,若是您并沒(méi)有利用一些很是龐大的并且確定 Nginx 無(wú)法完成的功效,那您應(yīng)該嘗嘗 Nginx 。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多