国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

Nginx Beginner's Guide

yeyan1996 / 1416人閱讀

摘要:主進(jìn)程的主要目的就是讀取和評(píng)估配置,并且維護(hù)工作進(jìn)程。工作進(jìn)程實(shí)際上是處理請(qǐng)求。下一步,使用上一小節(jié)的服務(wù)器配置塊并將其修改為代理服務(wù)器配置。符合響應(yīng)的請(qǐng)求將會(huì)映射到文件夾。為了使新的配置文件生效,發(fā)送信號(hào)給

概述

??譯文。參考官方文檔
??這篇指南描述了如何啟動(dòng)、停止nginx,重新加載配置,并且解釋了配置文件的結(jié)構(gòu),描述了如何設(shè)置nginx去服務(wù)靜態(tài)內(nèi)容,如何配置nginx作為代理服務(wù)器等。

??nginx有一個(gè)主進(jìn)程和若干個(gè)工作進(jìn)程。主進(jìn)程的主要目的就是讀取和評(píng)估配置,并且維護(hù)工作進(jìn)程。工作進(jìn)程實(shí)際上是處理請(qǐng)求。nginx使用以事件為基礎(chǔ)的模型并且依賴(lài)操作系統(tǒng)的機(jī)制去描述在工作進(jìn)程中的請(qǐng)求。工作進(jìn)程的數(shù)量定義在配置文件中,對(duì)于一個(gè)特定的配置,這個(gè)數(shù)量可能是固定的,或者根據(jù)CPU的線(xiàn)程數(shù)來(lái)自動(dòng)調(diào)整。

??nginx和它的模塊的工作方式是由配置文件決定的。默認(rèn)情況下,配置文件是以nginx.config命名的,并且在/usr/local/nginx/conf目錄,/etc/nginx目錄,或者/usr/local/etc/nginx目錄

開(kāi)始,停止和重新加載

??啟動(dòng)nginx,運(yùn)行可執(zhí)行文件。一旦nginx已經(jīng)啟動(dòng),它就可以通過(guò)調(diào)用帶有-s的參數(shù)來(lái)控制。使用語(yǔ)法:nginx -s signal
??singal可以被下面任意一個(gè)替換

stop - 快速停止

quit - 優(yōu)雅的停止

reload - 重新加載配置文件

reopen - 重新打開(kāi)日志文件

??例如,等所有工作進(jìn)程完成服務(wù)器的當(dāng)前請(qǐng)求時(shí),停止nginx進(jìn)程,用如下命令nginx -s quit
??重新加載配置文件的命令發(fā)送到nginx或者nginx重啟的時(shí)候,配置文件改變的內(nèi)容才會(huì)生效。重新加載執(zhí)行nginx -s reload
??一旦主進(jìn)程接收到重新加載的信號(hào),它會(huì)檢查新的配置文件的語(yǔ)法是否合法,并且試著去執(zhí)行配置文件里的內(nèi)容。如果成功了,主進(jìn)程會(huì)開(kāi)始新的工作進(jìn)程并且發(fā)送信息給老的工作進(jìn)程,請(qǐng)求它們停止。否則主進(jìn)程就會(huì)回滾配置并繼續(xù)執(zhí)行老的工作進(jìn)程。老的工作進(jìn)程接收到停止的命令,停止接收新的請(qǐng)求連接并且繼續(xù)執(zhí)行當(dāng)前的請(qǐng)求直到所有的請(qǐng)求都處理完成。
??查看正在執(zhí)行的nginx進(jìn)程列表,用這個(gè)方式:ps -ax | grep nginx

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

??nginx是由定義在配置文件中的指令所控制的模塊組成。這些指令被分成簡(jiǎn)單的指定和成塊的指令。一個(gè)簡(jiǎn)單的指令由名稱(chēng)和用空格、分號(hào)分隔開(kāi)的參數(shù)組成。塊指令和簡(jiǎn)單的指令有著相同的結(jié)構(gòu),但是替代分號(hào)的是,它是由一系列環(huán)繞在括號(hào)花括號(hào)周?chē)母郊拥闹噶罱Y(jié)尾。如果一個(gè)塊指令在內(nèi)部的括號(hào)里有其他的指令,它被稱(chēng)為內(nèi)容(列如:events,http,server,location
??處在配置文件中所有內(nèi)容之外的指令被認(rèn)為是main內(nèi)容。eventshttp指令存在main內(nèi)容中,serverhttp,locationserver

提供靜態(tài)內(nèi)容

??Web服務(wù)器一個(gè)重要的任務(wù)就是提供外部文件(比如像圖片或者靜態(tài)的HTML請(qǐng)求)。你可以實(shí)現(xiàn)一個(gè)例子,根據(jù)請(qǐng)求文件將會(huì)從不同的目錄中提供:/data/www里面包含了HTML文件,/data/images包括了圖片。這需要編輯配置文件并且要在http塊中設(shè)置帶有兩個(gè)location塊的服務(wù)塊。
??首先,創(chuàng)建/data/wwww文件夾并且在文件夾里面放一個(gè)帶有一些文字內(nèi)容的index.html文件,然后創(chuàng)建/data/images文件夾把一些圖片放進(jìn)去。
??下一步,打開(kāi)配置文件,默認(rèn)的配置文件已經(jīng)包括了一些server塊的例子,大多數(shù)是注釋掉了。現(xiàn)在注釋掉所有的塊,并開(kāi)始一個(gè)新的server塊。

http {
    server {
    }
}

??通常來(lái)說(shuō),配置文件可能包含一些通過(guò)監(jiān)聽(tīng)的端口或者服務(wù)名稱(chēng)進(jìn)行區(qū)分的server塊。一旦nginx決定了哪一個(gè)server去處理一個(gè)請(qǐng)求,它根據(jù)服務(wù)器塊中定義的位置指令的參數(shù)測(cè)試請(qǐng)求頭中指定的URI。
??添加如下location塊到server塊中

location / {
    root /data/www;
}

??location 塊定義了“/”前綴同來(lái)自請(qǐng)求中的URI做比較。對(duì)于匹配的請(qǐng)求,這個(gè)URI會(huì)被添加到定義在root指令的路徑中,也就是說(shuō),對(duì)于/data/www,會(huì)在本地文件系統(tǒng)上形成被請(qǐng)求的路徑。如果有許多匹配的location塊,nginx會(huì)選擇最長(zhǎng)前綴的一個(gè)。上面的location塊提供了長(zhǎng)度是一的最短的前綴,所以只有其他的location塊無(wú)法提供匹配是,才會(huì)使用這個(gè)位置塊。
??下一步,添加第二個(gè)位置塊

location /images/ {
    root /data;
}

??對(duì)于以/images開(kāi)始的請(qǐng)求將會(huì)有一個(gè)匹配(location /當(dāng)然也配置這些請(qǐng)求,但是這是更短的前綴)
??server塊的的配置結(jié)果應(yīng)該如下:

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

    location /images/ {
        root /data;
    }
}

??這已經(jīng)是一個(gè)監(jiān)聽(tīng)80端口的工作服務(wù)器的配置了,并且可以通過(guò)本地機(jī)器的上的http://localhost/接入。響應(yīng)以/images/開(kāi)頭的URI請(qǐng)求,服務(wù)器會(huì)從/data/images文件夾下發(fā)送文件。例如,響應(yīng)http://localhost/images/example.png的請(qǐng)求,nginx會(huì)發(fā)送/data/images/example.png文件。如果這樣的文件沒(méi)有找到,那么nginx會(huì)響應(yīng)指示的404錯(cuò)誤。沒(méi)有以/images/開(kāi)頭的URI請(qǐng)求將會(huì)匹配到/data/www目錄。例如,響應(yīng)http://localhost/some/example.html的請(qǐng)求,nginx會(huì)發(fā)送/data/www/some/example.html文件。
??為了讓新的配置生效,啟動(dòng)nginx如果還沒(méi)有啟動(dòng),如果啟動(dòng)了就執(zhí)行reload命令:nginx -s reload
??以防事情沒(méi)有像預(yù)期那樣工作,你可以試著在access.log和error.log找原因,文件在/usr/local/nginx或者/var/log/nginx

設(shè)置一個(gè)簡(jiǎn)單的代理服務(wù)器

??nginx使用最頻繁之一的就是把它設(shè)置為代理服務(wù)器,這也就意味著服務(wù)接收請(qǐng)求,并把他們傳遞到代理服務(wù)器,然后從代理服務(wù)器取回響應(yīng)并發(fā)送到客戶(hù)端。
??我們將配置一個(gè)基本的代理服務(wù)器,它使用本地目錄中的文件來(lái)處理圖像請(qǐng)求,并將所有的請(qǐng)求發(fā)送到一個(gè)代理服務(wù)器。在這個(gè)示例中,兩個(gè)服務(wù)器都定義在一個(gè)nginx實(shí)例。
??首先,通過(guò)在nginx配置文件中添加一個(gè)包含如下內(nèi)容的Server塊來(lái)定義代理服務(wù)器

server {
    listen 8080;
    root /data/up1;

    location / {
    }
}

??這將是一個(gè)監(jiān)聽(tīng)8080端口的簡(jiǎn)單的服務(wù)器(很明顯,由于使用了標(biāo)準(zhǔn)的80端口,所以listen指定沒(méi)有被指定)并且將所有的請(qǐng)求映射到本地的/data/up1/目錄。創(chuàng)建這個(gè)目錄然后把index.html文件放到這個(gè)目錄下。注意的是root指令被放在了server內(nèi)容里。當(dāng)為處理請(qǐng)求選定的location塊不包括自己的根指令的時(shí)候,使用這樣的root指令。
??下一步,使用上一小節(jié)的服務(wù)器配置塊并將其修改為代理服務(wù)器配置。在第一個(gè)location塊中,將proxy_pass指令和帶有代理服務(wù)器協(xié)議,名稱(chēng),端口號(hào)的參數(shù)放在一起。

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

    location /images/ {
        root /data;
    }
}

我們會(huì)修改第二個(gè)location塊,即當(dāng)前帶有/images/為前綴的請(qǐng)求映射到/data/images/目錄下的文件。為了讓它匹配帶有特殊文件擴(kuò)展名的圖片請(qǐng)求,像下面這樣修改location

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

??這個(gè)參數(shù)是一個(gè)匹配所有以.gif.jpg,或者是.png結(jié)尾的URI的正則表達(dá)式。所有的正則表達(dá)式都應(yīng)該以~開(kāi)始。符合響應(yīng)的請(qǐng)求將會(huì)映射到/data/images/文件夾。
??當(dāng)nginx選擇一個(gè)location塊去處理一個(gè)請(qǐng)求的時(shí)候,它首先要檢查指定前綴的location指令,用最長(zhǎng)前綴記住位置,然后檢查正則表達(dá)式。如果有匹配的正則表達(dá)式,nginx會(huì)挑選這個(gè)位置,否則的話(huà)會(huì)選擇之前記住的一個(gè)。
??一個(gè)代理服務(wù)器的配置結(jié)果像這樣

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

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

??服務(wù)器會(huì)過(guò)濾以.gif.jpg.png結(jié)尾的請(qǐng)求并且映射到/data/images/文件夾下面(通過(guò)添加root指令的URI參數(shù)),然后將其他的請(qǐng)求分配給上面配置的代理服務(wù)器。
??為了使新的配置文件生效,發(fā)送relaod信號(hào)給nginx

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/40057.html

相關(guān)文章

  • Nginx入門(mén)

    摘要:據(jù)統(tǒng)計(jì),截至年月,有商業(yè)網(wǎng)站使用做服務(wù)器或做代理,比如有有一個(gè)主進(jìn)程和幾個(gè)進(jìn)程。主進(jìn)程的作用是讀取并執(zhí)行配置,并維護(hù)進(jìn)程。進(jìn)程是實(shí)際處理請(qǐng)求的進(jìn)程。簡(jiǎn)單指令由指令名參數(shù)組成,指令名和參數(shù)間用空格隔開(kāi),最后以分號(hào)結(jié)束。 本文是官網(wǎng)文檔的入門(mén)學(xué)習(xí)筆記,官網(wǎng)鏈接:Beginner Guide nginx入門(mén) 安裝(centos7) 1) 配置yum源:vi /etc/yum.repos.d/...

    Meathill 評(píng)論0 收藏0
  • nginx 基本入門(mén)

    摘要:是至今為止見(jiàn)過(guò)最好的入門(mén)文章。采取基于事件的模型和依賴(lài)的機(jī)制,在多個(gè)子進(jìn)程之間高效的分配請(qǐng)求。默認(rèn)情況下,這個(gè)配置文件通常命名為并且會(huì)放置在,,或者。 本文屬于翻譯文章,原文鏈接為 nginx Beginner’s Guide。是至今為止見(jiàn)過(guò)最好的 nginx 入門(mén)文章。額。。。沒(méi)有之一。 這篇教程簡(jiǎn)單介紹了 nginx 并且講解了一些 nginx 可以解決的簡(jiǎn)單任務(wù)。這里,我們假設(shè) ...

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

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

0條評(píng)論

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