計算機程序設計

Nginx的:設置和安裝

什麼是阿帕奇,Nginx的? 用途,功能,定制選項 - 這些都是每一個Web開發人員應該熟悉測試他們開發的東西。

關於nginx的說一個字

這個工具有一個主要和幾個工作流程。 第一部分主要閱讀和配置驗證。 另外它的控制之下,工作流管理。 過去的問題 - 來處理傳入的請求。 nginx的使用模式是基於事件。 機制也被使用,取決於操作系統上,以便實現直接的工作進程之間有效分配的請求。 它們的數量總是在配置文件中表示。 該值可以是固定的或自動設置,通過可處理處理器核的數量被引導。 在該系統和模塊的配置nginx的是使用的配置文件。 因此,如果你需要改變一些東西,你需要尋找自己的名字。 通常它是在指令中的/ etc / nginx的(但路線可能與其他系統會發生變化)和具有延伸部的.conf。

啟動,重新啟動和日誌

要做到這一點,你必須使可執行文件運行。 配置nginx的服務器在啟動時才有可能。 管理進行多虧調用帶有-s參數的可執行文件。 要做到這一點,使用以下命令:

nginx的-s信號

在這種情況下,您可以替換以下命令(必須來自啟動該工具的用戶):

  1. 停止。 它是用於快速關機。
  2. 刷新。 球隊需要重新加載配置文件。 事實是,直到文件工作的任何更改將不會生效。 而為了生效,需要重新啟動計算機。 只要你得到這個信號,主要過程開始驗證配置文件的語法成分的正確性,並嘗試應用指導那裡提供。 在失敗的情況下,它會回滾更改,將與舊參數工作。 如果一切順利,將推出新的工作流程,而舊將被發送至需求端。
  3. 退出。 用於工作的順利完成。 如果你想等到當前請求完成維護時使用。
  4. 重新打開。 關閉和打開日誌文件。

使用實用程序

設置處理還可以使用Unix的裝置(殺實用程序將作為示例來討論)執行。 他們通常使用一種機制來將信號直接發送到處理數據。 它們是由ID的方式聯繫在一起的。 此數據存儲在nginx.pid文件。 讓我們假設我們有興趣在這個過程中№134。 然後,對於需要順利完成向我們發送以下信息:

殺-s QUIT 1628

讓我們假設我們希望看到所有打開的文件列表。 我們正在使用的公用PS的。 該小組也將如下所示:

PS -ax | grep的nginx的

也就是說,你可以看到,通過使用附加的工具表明,它會應用。 現在,讓我們把重點放在如何致力於nginx的配置。

配置文件的結構

安裝和配置Nginx的包括與模塊的工作。 他們所使用的在配置文件中指定的指令配置。 它們可以是簡單或塊。 第一種類型的由指令和參數,這些參數由空格分隔的,它們的端部由分號指示 - (;)。 該塊具有相似的結構。 而是位於另一組被放置在大括號({}指令)指令該指令閉合的。 如果他們可以張貼的姓名和其它工藝參數,他們被稱為這種結構有上下文。 作為一個例子,HTTP,位置和服務器。

靜態內容分發

這是面臨的nginx的配置的最重要的挑戰之一。 在內容的統計分佈是指圖像和HTML的網頁(非動態)。 假設我們需要設置群集尼克斯nginx的一個單一的工作。 它是很難做到這一點? 不,讓我們來看一個例子。 在開始之前,有必要對細節問題的條件。 因此,根據不同的要求,這些文件將來自各地方目錄。 因此,在/數據/ WWW,我們有HTML的文件。 和在目錄/數據/圖像包含圖像。 在這種情況下的最佳設置nginx的需要編輯配置文件,您必須在HTTP配置服務器單元。 為了支持這兩個將被用作位置。

執行情況:服務器

因此,首先我們需要創建一個目錄,並把自己在他們需要擴大(在HTML中你需要添加內容)的文件。 然後打開配置文件。 在它默認的服務器已經有幾個塊,其中大部分被註釋掉。 為了達到最佳效果,這個過程需要將相對於默認情況下所有組件來完成。 然後使用此代碼添加一個新的服務器單元:

HTTP {

服務器{

}

}

配置文件可以用幾個這樣的塊工作。 但是,他們必須通過自己的姓名和通過其接收數據端口來區分。

實施:位置

確定服務器內:

位置/ {

根/數據/萬維網;

}

該標誌的存在“/”是必要的比較所獲得的數據並查看是否存在來自這裡的處理的請求這樣的地址。 如果沒有問題,然後指定路徑/數據/ WWW到位於本地系統所需的文件。 如果有幾個街區的匹配,然後選擇一個最長前綴。 在這個例子中,長度等於1,即,使用將獨家在不存在“競爭”的事件。 現在,讓我們將更新:

位置/圖像/ {

根/數據;

}

如何確定,我們正在尋找的圖像。 現在,讓我們結合這在以前是,此時的配置如下所有事態的發展:

服務器{

位置/ {

根/數據/萬維網;

}

位置/圖像/ {

根/數據;

}

}

這是一個情況下,標準的工作版本 端口№80。 沒有任何問題,這個服務器可以是您的計算機上,如果你去的地址:http://本地主機/。 這是如何工作的?

該示例的工作原理

所以,當他們來到以/圖片開始查詢,相應的目錄中的文件的服務器將被發送給用戶。 在他的缺席將給予指示錯誤404信息如果進行nginx的配置在本地計算機上,然後請求的HTTP://localhost/images/example.png我們將獲得其位置/data/images/example.png的文件。 當您指定一個“/”符號搜索將在目錄/數據/ WWW進行。 但是,我們不僅改變了配置。 它開始工作,它必須重新啟動。 要做到這一點,使用nginx的-s重裝。 在正常運轉是不可能的,在位於指令的/ usr /本地/ nginx的/日誌的access.log和error.log文件的情況下,你可以查找故障原因。

創建一個簡單的代理服務器

可以說,關於nginx的 - 這個設施的配置是最常見的應用之一(和相當容易,順便說一句)。 它使用接收到一個請求時,服務器的原理,然後將其重定向到所需的網站。 在此之後,答案是大家期待,這將它們發送給誰定的任務之一。 因此,讓我們看看如何創建一個基點的例子。 它將處理服務用戶的請求,並為他們提供從本地目錄中的圖像。 因此,阻斷HTTP添加其他服務器,內容如下:

服務器{

聽8080;

根/數據/ UP1;

位置/ {

}

}

現在,讓我們破譯了你:創建一個簡單的服務器。 他會聽端口8080沒有聽,那麼服務器將在80日運行。 將顯示被定向到目錄/數據/ UP1的本地文件系統中的所有要求(當然,在這之前,有必要創建它)。 為了能夠檢查是必要把index.html文件。 由於指令的,我們可以在任何時候使用位置的根服務器的情況下放置(作為其除去訪問限制)。 我們現在正在創建一個代理。 對於它的工作,我們需要proxy_pass指令,將為其指定的協議的名稱,以及港口設施作為參數(本地連接它看起來就像HTTP://本地主機:8080)。 得到這樣的結果:

服務器{

位置/ {

proxy_pass HTTP://本地主機:8080;

}

位置/圖像/ {

根/數據;

}

}

如果你看一下代碼,並對其進行分析,你可能會注意到,第二單元的位置已經改變。 因此,在這種情況下,它可以與典型的擴展圖像的工作。 有一點不同,它可以被顯示如下:

位置〜\(GIF | JPG | PNG)$ {。

根/數據/圖像;

}

最終的代理配置如下:

服務器{

位置/ {

proxy_pass HTTP://本地主機:8080 /;

}

位置〜\(GIF | JPG | PNG)$ {。

根/數據/圖像;

}

}

它會過濾掉末,其中有這些擴展,並將它們發送給誰請求的文件的人的請求。 不要忘記,它需要重新啟動,如果你想檢查的配置文件。 相信我,這只是nginx的配置。 如果你打開配置“的Vkontakte”的文件服務器或其他大公司,他們將有代碼比在這篇文章中字。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 zhtw.unansea.com. Theme powered by WordPress.