成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Nginx官網(wǎng)翻譯

iamyoung001 / 2015人閱讀

摘要:就翻譯了官方的文章,比較倉促。運(yùn)行可執(zhí)行的文件,開啟,一旦被開啟,通過可執(zhí)行控制。老進(jìn)程收到關(guān)閉的命令,停止接受新的連接和繼續(xù)執(zhí)行當(dāng)前的請(qǐng)求直到所有的的請(qǐng)求被執(zhí)行完畢。如果文件不存在,將發(fā)送錯(cuò)誤的回應(yīng)指示。

Beginner’s Guide

今天下午沒有太多的事。就翻譯了nginx官方的文章,比較倉促。語言上沒有怎么雕琢。我會(huì)逐步完善。歡迎大家指正。
問號(hào)部分因?yàn)楸救嗽~窮,一時(shí)不知道用漢語表達(dá),所以先空著。(手指骨折,單手打字,熬了好幾個(gè)小時(shí),所以文字漏洞應(yīng)該比較多,找個(gè)時(shí)間再優(yōu)化吧?。?br>nginx官網(wǎng)文章地址:http://nginx.org/en/docs/begi...。

這個(gè)指導(dǎo)對(duì)nginx做了一個(gè)基礎(chǔ)的的介紹和用nginx可以做的一些簡單的任務(wù),確保讀者的的機(jī)器上已經(jīng)安裝了nginx,如果沒有安裝,請(qǐng)看安裝nginx頁面,這個(gè)指導(dǎo)描述了怎樣開啟,關(guān)閉和重啟它的配置,解釋配置文件的結(jié)構(gòu)和描述怎樣配置nginx的非靜態(tài)服務(wù),怎樣配置nginx作為一個(gè)代理服務(wù)器和怎樣把nginx與fastcgi應(yīng)用連接起來。

nginx有一個(gè)主進(jìn)程和一些worker進(jìn)程,主進(jìn)程的主要目的是讀取和執(zhí)行配置和確保worker進(jìn)程正常運(yùn)行,worker進(jìn)程處理真實(shí)的請(qǐng)求,nginx雇傭event-based模式和系統(tǒng)獨(dú)立的機(jī)制去有效分發(fā)請(qǐng)求給worker進(jìn)程。worker進(jìn)程的數(shù)量被定義在配置文件中和被設(shè)置好的配置文件,或者自適應(yīng)cup的核數(shù)。

nginx的工作方式和模塊被確定在配置文件,配置文件的的默認(rèn)是名字是nginx.conf,放在/usr/local/nginx/conf, /etc/nginx, 或者/usr/local/etc/nginx目錄下。

Starting, Stopping, and Reloading Configuration

運(yùn)行可執(zhí)行的文件,開啟nginx,一旦nginx被開啟,nginx通過可執(zhí)行 -s parameter 控制。用以下的語法:

nginx -s singal

以下是可以用到的信號(hào):

stop -快速關(guān)閉nginx

quit - 平滑的關(guān)閉nginx
reload - 重新加載配置文件
reopen - 重新打開日志文件

比如,停止worker進(jìn)程去結(jié)束正在服務(wù)的外部請(qǐng)求。以下的命令能被執(zhí)行:

nginx -s quit

注:這個(gè)命令的執(zhí)行應(yīng)該與開啟nginx的用戶是同一用戶

被改變配置文件只有到重新加載配置后才能被應(yīng)用,重啟配置,執(zhí)行以下命令:

nginx -s reload

一旦主進(jìn)程收到重啟配置的信號(hào),nginx會(huì)檢查新配置文件的語法的正確性和試著應(yīng)用被提供的配置,如果成功,主進(jìn)程會(huì)開啟新的worker進(jìn)程和發(fā)送一下信息到老的worker進(jìn)程,要求老的worker進(jìn)程關(guān)閉,否則,主進(jìn)程將會(huì)回滾到改變前的配置和繼續(xù)用老配置執(zhí)行。老worker進(jìn)程收到關(guān)閉的命令,停止接受新的連接和繼續(xù)執(zhí)行當(dāng)前的請(qǐng)求直到所有的的請(qǐng)求被執(zhí)行完畢。之后,老的worker進(jìn)程退出。

對(duì)nginx進(jìn)程發(fā)送的信號(hào)也可用unix工具的幫助。比如kill工具。這類信號(hào)被直接發(fā)送到一個(gè)被給定的進(jìn)程ID的進(jìn)程。nignx主進(jìn)程的進(jìn)程ID被默認(rèn)寫到nginx.pid文件中。此文件在/usr/local/nginx/logs 或者/var/run文件下。例如,如果主進(jìn)程ID是1628,對(duì)nginx發(fā)送Quit信號(hào)關(guān)閉nginx。執(zhí)行以下命令:

kill -s Quit 1628

獲取所有正在運(yùn)行的nginx進(jìn)程,可以用ps工具,比如,用以下方式:

ps -ax | grep nginx

想要獲取發(fā)送到nginx的更多信號(hào),請(qǐng)看controller nginx

配置文件的結(jié)構(gòu)

nginx是由在配置文件中被特定的指令控制的模塊組成的。指令被劃分成一些簡單的指令和指令模塊。一個(gè)簡單的指令是由名字和以空格分離的參數(shù)組成,以”;”結(jié)尾。指令塊有同樣結(jié)構(gòu)作為一個(gè)簡單的指令。但是代替“;”,指令塊是用”{}”結(jié)尾的。如果一個(gè)指令塊內(nèi)部有其他的指令。它被叫做context(例如:events,http,server,location)

運(yùn)行靜態(tài)內(nèi)容

web 服務(wù)器的一個(gè)重要的任務(wù)是運(yùn)行文件(比如 圖片或者靜態(tài)html頁面)。你可以實(shí)現(xiàn)一個(gè)例子,通過一個(gè)請(qǐng)求。文件將會(huì)通過不同的本地文件夾分發(fā)運(yùn)行:/data/www (可能包括html文件) and /data/images (包含圖片)。這要求編輯配置文件和etting up of a server block inside the http block with two location blocks.

首先,建立/data/www目錄,并且放一個(gè)index.html文件(可以寫入任何內(nèi)容)在目錄下,建立/data/images目錄來存放圖片。

下一步,打開配置文件,默認(rèn)的配置文件已經(jīng)包括了幾個(gè)server塊,大部分已經(jīng)注釋了,現(xiàn)在注釋所有的區(qū)塊并且開始創(chuàng)建一個(gè)新的sever塊。

http {
    server {
    }
}

通常,配置文件可能包括多個(gè)server,這些server可以通過監(jiān)聽的端口和server_name區(qū)分開。一旦,nginx確定是哪個(gè)server來處理request ???????

添加以下location區(qū)塊到sever區(qū)塊中:

location / {
    root /data/www;
}

以上的location塊指定"/"前綴與來自于request中的url做對(duì)比,對(duì)于匹配上的request,url將被添加到root指令指定的路徑上去,這里是/data/www, ????。如果匹配上了好幾個(gè)location區(qū)塊,nginx將選擇最長的那個(gè)前綴,長前綴location的優(yōu)先級(jí)在最短前綴之上,所以如果所得的loaction區(qū)塊都匹配失敗,那么最短的loaction區(qū)塊將被使用。

下面,添加第二個(gè)location區(qū)塊:

location /images/ {
    root /data;
}

想要所有的請(qǐng)求匹配上/images/(loaction / 也可以匹配上所有的request,但是它有最短的前綴)

配置文件的最終樣子應(yīng)該像這樣:

server {
    location / {
        root /data/www;
    }

    location /images/ {
        root /data;
    }
}

這已經(jīng)有一個(gè)監(jiān)聽標(biāo)準(zhǔn)80端口的服務(wù)器配置和一個(gè)可以通過http://localhost/訪問的本地機(jī)器。對(duì)于以/images/開始的url的request的響應(yīng),服務(wù)器將發(fā)送來自/data/images目錄下的文件。比如,對(duì)于http://localhost/images/examp...請(qǐng)求的回應(yīng),nginx將發(fā)送/data/images/example.png文件。如果文件不存在,nginx將發(fā)送404錯(cuò)誤的回應(yīng)指示。沒有以/images/開始的url請(qǐng)求將被映射到/data/www目錄下,例如,對(duì)于http://localhost/some/example...的請(qǐng)求,nginx將發(fā)送/data/www/some/example.html文件作為回應(yīng)。

為了使用新的配置文件,啟動(dòng)還有啟動(dòng)的nginx服務(wù),或者通過執(zhí)行以下命令發(fā)送reload信號(hào)到nginx的主進(jìn)程中:

nginx -s reload

在一些情況下,nginx不能工作,你可以試著在 /usr/local/nginx/logs或者/var/log/nginx目錄下的access.log和error.log日志文件中找出原因

Setting Up a Simple Proxy Server

nginx中最常用的一個(gè)是功能是把nginx作為代理服務(wù)器,這意味著一個(gè)服務(wù)器接收request,把request傳給給代理服務(wù)器,從代理服務(wù)器回收響應(yīng)信息,然后將這些信息發(fā)送給客戶端。

我們將配置一個(gè)基礎(chǔ)的代理服務(wù)器,它用于處理圖片請(qǐng)求(圖片來自本地目錄)和發(fā)送所有其他的request到代理服務(wù)器。在這個(gè)例子中,兩個(gè)server將被定義到一個(gè)多帶帶的nginx實(shí)例。

首先,通過添加一個(gè)sever塊到nginx配置中來定義proxy server,配置文件內(nèi)容如下:

server {
    listen 8080;
    root /data/up1;

    location / {
    }
}

這個(gè)簡單的server監(jiān)聽的是8080端口,并且映射所有的請(qǐng)求到/data/up1目錄下。創(chuàng)建/data/up1目錄,并將index.html文件放到這個(gè)目錄中,要注意的是root指令要放到server代碼塊中,???。

下一步,用之前的server配置,把sever配置修改成一個(gè)proxyserver配置。在第一個(gè)location塊中,?用proxyserver指定的參數(shù)填充proxy_pass指令(在我們這個(gè)例子中,是http://localhost:8080)

server {
    location / {
        proxy_pass http://localhost:8080;
    }

    location /images/ {
        root /data;
    }
}

我們將修改第二個(gè)loaction塊,它把帶有 /images/ 前綴的請(qǐng)求映射到到/data/images目錄下,為了匹配帶有特殊擴(kuò)展名的圖片請(qǐng)求,修改的location應(yīng)該像這樣:

location ~ .(gif|jpg|png)$ {
    root /data/images;
}

這個(gè)參數(shù)是一個(gè)匹配所有以.gif,.jpg,.png結(jié)尾url的正則表達(dá)式。正則表達(dá)式應(yīng)該優(yōu)先于~匹配。符合的請(qǐng)求將被映射到/data/images目錄下。

當(dāng)nginx選擇一個(gè)loaction去處理一個(gè)請(qǐng)求,它首先會(huì)檢查指定前綴的loaction指令,記憶最長前綴的loaction,然后檢查正則表達(dá)式。如果匹配到正則表達(dá)式,nginx選擇這個(gè)loaction,??

最終的proxy server配置文件應(yīng)該是這樣的:

server {
    location / {
        proxy_pass http://localhost:8080/;
    }

    location ~ .(gif|jpg|png)$ {
        root /data/images;
    }
}

這個(gè)server過濾以.gif, .jpg, .png 結(jié)尾的請(qǐng)求,然后將他們映射到 /data/images目錄下,把他的請(qǐng)求傳給上面配置我呢間中的proxy server。

為了應(yīng)用新的配置文件,為了說明前面的描述,發(fā)送reload信號(hào)給nginx

這還有很多被用于配置proxy連接的指令 more

Setting Up FastCGI Proxying

nginx被用于指定request到用各種框架和例如php語言的程序的fastcgi服務(wù)器。

大多數(shù)基本的fastcgi的nginx配置用fastcgi_pass指令代替了proxy_pass 指令,并且fastcgi_param設(shè)置參數(shù)發(fā)送到fastcgi服務(wù)上,假設(shè)fastcgi服務(wù)是可以通過localhost:9000可以訪問的,把前面內(nèi)容的proxy配置文件作為一個(gè)基礎(chǔ)。用fastcgi_pass指令代替proxy_pass 指令,并且設(shè)置proxy_pass為localhost:9000,在php中,SCRIPT_FILENAME 參數(shù)被用于確定腳本名稱,QUERY_STRING 參數(shù)被用于傳遞request參數(shù),最終的配置文件應(yīng)該是:

server {
    location / {
        fastcgi_pass  localhost:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param QUERY_STRING    $query_string;
    }

    location ~ .(gif|jpg|png)$ {
        root /data/images;
    }
}

這個(gè)配置文件將把所有請(qǐng)求(除了靜態(tài)圖片的request)通過fastcgi協(xié)議 打到運(yùn)行l(wèi)ocalhost:9000的代理服務(wù)器

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39204.html

相關(guān)文章

  • Nginx 安裝

    摘要:安裝快速安裝官網(wǎng)地址使用對(duì)實(shí)現(xiàn)擴(kuò)展。安裝步驟下載源碼包并解壓。詳細(xì)命令如下安裝依賴和編譯工具。安裝見官網(wǎng)進(jìn)源碼目錄,配置。使用查看參數(shù)說明翻譯見命令示例注安裝默認(rèn)在和,可以使用,查看相關(guān)文件。運(yùn)行結(jié)果示例編譯并安裝。 Nginx 安裝 快速安裝 Ngnix官網(wǎng)地址:http://nginx.org/ 使用OpenResty對(duì)Nginx實(shí)現(xiàn)擴(kuò)展。https://openresty.org...

    williamwen1986 評(píng)論0 收藏0
  • nginx location配置規(guī)則學(xué)習(xí)

    摘要:然后檢查正則表達(dá)式,按照它們?cè)谂渲梦募械娘@示順序。正則表達(dá)式的搜索在第一個(gè)匹配中終止,并且使用相應(yīng)的配置。正則表達(dá)式可以包含稍后可以在其他指令中使用的捕獲。 最近學(xué)習(xí)vuejs,做前后端分離,demo做完了,最終還是要發(fā)布的,于是學(xué)習(xí)nginx,其它配置倒是還好理解,唯獨(dú)對(duì)localtion理解不了,最后請(qǐng)教了一些網(wǎng)友,才得以解決問題,但是不希望下次還遇到問題,所以這里把localt...

    CoffeX 評(píng)論0 收藏0
  • nginx 基本安裝與配置總結(jié)

    摘要:以下內(nèi)容需要你掌握一些預(yù)備知識(shí)的目錄結(jié)構(gòu)指令及軟件登錄遠(yuǎn)程服務(wù)器基本指令操作安裝安裝之前搞清楚你的操作系統(tǒng),還是還有具體的版本。 以下內(nèi)容需要你掌握一些預(yù)備知識(shí) 1.Ubuntu的目錄結(jié)構(gòu) 2.SSH指令及FTP軟件登錄遠(yuǎn)程服務(wù)器 3.Linux基本指令操作 安裝nginx安裝之前搞清楚你的操作系統(tǒng),Ubuntu還是CentOS,還有具體的版本??梢允褂靡韵轮噶顧z測 cat /pro...

    Batkid 評(píng)論0 收藏0
  • 網(wǎng)絡(luò)編程 - 收藏集 - 掘金

    摘要:個(gè)高級(jí)多線程面試題及回答后端掘金在任何面試當(dāng)中多線程和并發(fā)方面的問題都是必不可少的一部分。目前在生產(chǎn)環(huán)基于的技術(shù)問答網(wǎng)站系統(tǒng)實(shí)現(xiàn)后端掘金這一篇博客將詳細(xì)介紹一個(gè)基于的問答網(wǎng)站的實(shí)現(xiàn),有詳細(xì)的代碼。 15 個(gè)高級(jí) Java 多線程面試題及回答 - 后端 - 掘金在任何Java面試當(dāng)中多線程和并發(fā)方面的問題都是必不可少的一部分。如果你想獲得任何股票投資銀行的前臺(tái)資訊職位,那么你應(yīng)該準(zhǔn)備很多...

    justCoding 評(píng)論0 收藏0
  • 網(wǎng)絡(luò)編程 - 收藏集 - 掘金

    摘要:個(gè)高級(jí)多線程面試題及回答后端掘金在任何面試當(dāng)中多線程和并發(fā)方面的問題都是必不可少的一部分。目前在生產(chǎn)環(huán)基于的技術(shù)問答網(wǎng)站系統(tǒng)實(shí)現(xiàn)后端掘金這一篇博客將詳細(xì)介紹一個(gè)基于的問答網(wǎng)站的實(shí)現(xiàn),有詳細(xì)的代碼。 15 個(gè)高級(jí) Java 多線程面試題及回答 - 后端 - 掘金在任何Java面試當(dāng)中多線程和并發(fā)方面的問題都是必不可少的一部分。如果你想獲得任何股票投資銀行的前臺(tái)資訊職位,那么你應(yīng)該準(zhǔn)備很多...

    selfimpr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

iamyoung001

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<