天天看點

[Linux]經典面試題 - 服務管理 - Nginx

目錄

Nginx 簡介

Nginx 應用場景

反向代理

負載均衡

動靜分離

Nginx 安裝過程

yum安裝

下載下傳編譯

安裝驗證

Nginx 配置檔案

查找目錄

配置結構

配置詳情

參考:

尚矽谷Nginx教程由淺入深(一套打通丨初學者也可掌握)_哔哩哔哩_bilibili

Nginx 配置詳解 | 菜鳥教程 (runoob.com)

(總結)Nginx配置檔案nginx.conf中文詳解 (ha97.com)

Nginx是一款輕量級的Web伺服器、反向代理伺服器,作為中間件同時也提供了IMAP/POP3/SMTP服務,由于它的記憶體占用少,啟動極快,高并發能力強,在網際網路項目中廣泛應用。

[Linux]經典面試題 - 服務管理 - Nginx

正向代理,代理的是用戶端,将用戶端隐藏起來,通過代理通路外部服務。

[Linux]經典面試題 - 服務管理 - Nginx

反向代理,代理的是伺服器,将伺服器隐藏起來,通過反代對外提供服務。

[Linux]經典面試題 - 服務管理 - Nginx

伺服器硬體性能相同時,反向代理,輪詢。(平均配置設定)

伺服器硬體性能不同時,反向代理,權重輪詢。(能者多勞)

[Linux]經典面試題 - 服務管理 - Nginx

靜态頁面和動态資源,分離在不同的伺服器,通過反代将資源重定向至相應的伺服器。

通過yum倉庫安裝:

基礎操作:

先安裝依賴包:

gcc、gcc-c++:GNU Compiler Collection,GNU編譯器套件,包括C、C++、Java、GO語言前端等,也包括了這些語言的庫(libstdc++,libgcj等)

make:make 是一個指令工具,它解釋 Makefile 中的規則,在 Makefile檔案中描述了整個工程所有檔案的編譯順序、編譯規則。

autoconf:是一個shell腳本的工具,可以自動地配置軟體源代碼包以适應多種UNIX類系統。由autoconf生成的配置腳本在運作的時候不需要使用者的手工幹預;通常它們甚至不需要手工給出參數以确定系統的類型。其中autoconf需要用到m4,便于生成腳本。

automake:是一個從檔案Makefile.am自動生成Makefile.in的工具。每個Makefile.am基本上是一系列make的宏定義。生成的Makefile.in,服從GNU Makefile标準。為了生成Makefile.in,automake還需用到perl(它本身就是一個perl程式)。

pcre、pcre-devel:PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的正規表達式庫。

zlib、zlib-devel:zlib是提供資料壓縮用的函式庫。

openssl、openssl-devel:OpenSSL是一個開放源代碼的軟體庫包,應用程式可以使用這個包來進行安全通信,避免竊聽,同時确認另一端連接配接者的身份。這個包廣泛被應用在網際網路的網頁伺服器上。

官方網站:nginx: download

切換到nginx目錄:

解壓:

編譯配置,生成makefile:

編譯:

安裝:

防火牆放行:

[Linux]經典面試題 - 服務管理 - Nginx

查找配置檔案所在目錄:

初始化的配置檔案結構如下

/etc/nginx/nginx.conf

nginx.conf檔案主要分為五塊:全局塊、events塊、http塊、server塊、location塊

全局塊:配置影響nginx全局的指令。一般有運作nginx伺服器的使用者組,nginx程序pid存放路徑,日志存放路徑,配置檔案引入,允許生成worker process數等。

events塊:配置影響nginx伺服器或與使用者的網絡連接配接。有每個程序的最大連接配接數,選取哪種事件驅動模型處理連接配接請求,是否允許同時接受多個網路連接配接,開啟多個網絡連接配接序列化等。

http塊:可嵌套多個server,配置代理、緩存、日志定義等絕大多數功能和第三方子產品的配置。例如檔案定義、日志自定義、是否使用sendfile傳輸檔案,連接配接逾時時間,但連接配接請求數等。

server塊:配置虛拟主機的相關參數,一個http中可以由多個server。

location塊:配置請求的路由,以及各種頁面的處理情況。