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

資訊專欄INFORMATION COLUMN

Nginx官網翻譯

iamyoung001 / 2008人閱讀

摘要:就翻譯了官方的文章,比較倉促。運行可執行的文件,開啟,一旦被開啟,通過可執行控制。老進程收到關閉的命令,停止接受新的連接和繼續執行當前的請求直到所有的的請求被執行完畢。如果文件不存在,將發送錯誤的回應指示。

Beginner’s Guide

今天下午沒有太多的事。就翻譯了nginx官方的文章,比較倉促。語言上沒有怎么雕琢。我會逐步完善。歡迎大家指正。
問號部分因為本人詞窮,一時不知道用漢語表達,所以先空著。(手指骨折,單手打字,熬了好幾個小時,所以文字漏洞應該比較多,找個時間再優化吧!)。
nginx官網文章地址:http://nginx.org/en/docs/begi...。

這個指導對nginx做了一個基礎的的介紹和用nginx可以做的一些簡單的任務,確保讀者的的機器上已經安裝了nginx,如果沒有安裝,請看安裝nginx頁面,這個指導描述了怎樣開啟,關閉和重啟它的配置,解釋配置文件的結構和描述怎樣配置nginx的非靜態服務,怎樣配置nginx作為一個代理服務器和怎樣把nginx與fastcgi應用連接起來。

nginx有一個主進程和一些worker進程,主進程的主要目的是讀取和執行配置和確保worker進程正常運行,worker進程處理真實的請求,nginx雇傭event-based模式和系統獨立的機制去有效分發請求給worker進程。worker進程的數量被定義在配置文件中和被設置好的配置文件,或者自適應cup的核數。

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

Starting, Stopping, and Reloading Configuration

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

nginx -s singal

以下是可以用到的信號:

stop -快速關閉nginx

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

比如,停止worker進程去結束正在服務的外部請求。以下的命令能被執行:

nginx -s quit

注:這個命令的執行應該與開啟nginx的用戶是同一用戶

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

nginx -s reload

一旦主進程收到重啟配置的信號,nginx會檢查新配置文件的語法的正確性和試著應用被提供的配置,如果成功,主進程會開啟新的worker進程和發送一下信息到老的worker進程,要求老的worker進程關閉,否則,主進程將會回滾到改變前的配置和繼續用老配置執行。老worker進程收到關閉的命令,停止接受新的連接和繼續執行當前的請求直到所有的的請求被執行完畢。之后,老的worker進程退出。

對nginx進程發送的信號也可用unix工具的幫助。比如kill工具。這類信號被直接發送到一個被給定的進程ID的進程。nignx主進程的進程ID被默認寫到nginx.pid文件中。此文件在/usr/local/nginx/logs 或者/var/run文件下。例如,如果主進程ID是1628,對nginx發送Quit信號關閉nginx。執行以下命令:

kill -s Quit 1628

獲取所有正在運行的nginx進程,可以用ps工具,比如,用以下方式:

ps -ax | grep nginx

想要獲取發送到nginx的更多信號,請看controller nginx

配置文件的結構

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

運行靜態內容

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

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

下一步,打開配置文件,默認的配置文件已經包括了幾個server塊,大部分已經注釋了,現在注釋所有的區塊并且開始創建一個新的sever塊。

http {
    server {
    }
}

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

添加以下location區塊到sever區塊中:

location / {
    root /data/www;
}

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

下面,添加第二個location區塊:

location /images/ {
    root /data;
}

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

配置文件的最終樣子應該像這樣:

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

    location /images/ {
        root /data;
    }
}

這已經有一個監聽標準80端口的服務器配置和一個可以通過http://localhost/訪問的本地機器。對于以/images/開始的url的request的響應,服務器將發送來自/data/images目錄下的文件。比如,對于http://localhost/images/examp...請求的回應,nginx將發送/data/images/example.png文件。如果文件不存在,nginx將發送404錯誤的回應指示。沒有以/images/開始的url請求將被映射到/data/www目錄下,例如,對于http://localhost/some/example...的請求,nginx將發送/data/www/some/example.html文件作為回應。

為了使用新的配置文件,啟動還有啟動的nginx服務,或者通過執行以下命令發送reload信號到nginx的主進程中:

nginx -s reload

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

Setting Up a Simple Proxy Server

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

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

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

server {
    listen 8080;
    root /data/up1;

    location / {
    }
}

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

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

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

    location /images/ {
        root /data;
    }
}

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

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

這個參數是一個匹配所有以.gif,.jpg,.png結尾url的正則表達式。正則表達式應該優先于~匹配。符合的請求將被映射到/data/images目錄下。

當nginx選擇一個loaction去處理一個請求,它首先會檢查指定前綴的loaction指令,記憶最長前綴的loaction,然后檢查正則表達式。如果匹配到正則表達式,nginx選擇這個loaction,??

最終的proxy server配置文件應該是這樣的:

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

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

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

為了應用新的配置文件,為了說明前面的描述,發送reload信號給nginx

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

Setting Up FastCGI Proxying

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

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

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;
    }
}

這個配置文件將把所有請求(除了靜態圖片的request)通過fastcgi協議 打到運行localhost:9000的代理服務器

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39204.html

相關文章

  • Nginx 安裝

    摘要:安裝快速安裝官網地址使用對實現擴展。安裝步驟下載源碼包并解壓。詳細命令如下安裝依賴和編譯工具。安裝見官網進源碼目錄,配置。使用查看參數說明翻譯見命令示例注安裝默認在和,可以使用,查看相關文件。運行結果示例編譯并安裝。 Nginx 安裝 快速安裝 Ngnix官網地址:http://nginx.org/ 使用OpenResty對Nginx實現擴展。https://openresty.org...

    williamwen1986 評論0 收藏0
  • nginx location配置規則學習

    摘要:然后檢查正則表達式,按照它們在配置文件中的顯示順序。正則表達式的搜索在第一個匹配中終止,并且使用相應的配置。正則表達式可以包含稍后可以在其他指令中使用的捕獲。 最近學習vuejs,做前后端分離,demo做完了,最終還是要發布的,于是學習nginx,其它配置倒是還好理解,唯獨對localtion理解不了,最后請教了一些網友,才得以解決問題,但是不希望下次還遇到問題,所以這里把localt...

    CoffeX 評論0 收藏0
  • nginx 基本安裝與配置總結

    摘要:以下內容需要你掌握一些預備知識的目錄結構指令及軟件登錄遠程服務器基本指令操作安裝安裝之前搞清楚你的操作系統,還是還有具體的版本。 以下內容需要你掌握一些預備知識 1.Ubuntu的目錄結構 2.SSH指令及FTP軟件登錄遠程服務器 3.Linux基本指令操作 安裝nginx安裝之前搞清楚你的操作系統,Ubuntu還是CentOS,還有具體的版本。可以使用以下指令檢測 cat /pro...

    Batkid 評論0 收藏0
  • 網絡編程 - 收藏集 - 掘金

    摘要:個高級多線程面試題及回答后端掘金在任何面試當中多線程和并發方面的問題都是必不可少的一部分。目前在生產環基于的技術問答網站系統實現后端掘金這一篇博客將詳細介紹一個基于的問答網站的實現,有詳細的代碼。 15 個高級 Java 多線程面試題及回答 - 后端 - 掘金在任何Java面試當中多線程和并發方面的問題都是必不可少的一部分。如果你想獲得任何股票投資銀行的前臺資訊職位,那么你應該準備很多...

    justCoding 評論0 收藏0
  • 網絡編程 - 收藏集 - 掘金

    摘要:個高級多線程面試題及回答后端掘金在任何面試當中多線程和并發方面的問題都是必不可少的一部分。目前在生產環基于的技術問答網站系統實現后端掘金這一篇博客將詳細介紹一個基于的問答網站的實現,有詳細的代碼。 15 個高級 Java 多線程面試題及回答 - 后端 - 掘金在任何Java面試當中多線程和并發方面的問題都是必不可少的一部分。如果你想獲得任何股票投資銀行的前臺資訊職位,那么你應該準備很多...

    selfimpr 評論0 收藏0

發表評論

0條評論

iamyoung001

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<