天天看點

Nginx的簡介與安裝(Nginx學習一)

1、Nginx 的簡介

(1)說到 Nginx ,可能大家最先想到的就是其負載均衡以及反向代理的功能。沒錯,這也是目前使用 Nginx 最頻繁的兩個功能,但是 Nginx 可不僅僅隻有這兩個功能,其作用還是挺大的。

(2)Nginx 是由俄羅斯人 Igor Sysoev 設計開發的,開發工作從2002 年開始,第一次公開釋出在 2004 年 10 月 4 日。

官方網站為:http://nginx.org/ 。它是一款免費開源的高性能 HTTP 代理伺服器及反向代理伺服器(Reverse Proxy)産品,同時它還可以提供 IMAP/POP3 郵件代理服務等功能。它高并發性能很好,官方測試能夠支撐 5 萬的并發量;運作時記憶體和 CPU 占用率低,配置簡單,容易上手,而且運作非常穩定。

2、Nginx 的常用功能

其實 Nginx 的功能特别多,這裡我隻介紹幾個常用的功能,具體的大家可以參考官網介紹。

  (1)反向代理

  這是 Nginx 伺服器作為 WEB 伺服器的主要功能之一,用戶端向伺服器發送請求時,會首先經過 Nginx 伺服器,由伺服器将請求分發到相應的 WEB 伺服器。正向代理是代理用戶端,而反向代理則是代理伺服器,Nginx 在提供反向代理服務方面,通過使用正規表達式進行相關配置,采取不同的轉發政策,配置相當靈活,而且在配置後端轉發請求時,完全不用關心網絡環境如何,可以指定任意的IP位址和端口号,或其他類型的連接配接、請求等。

  (2)負載均衡

  這也是 Nginx 最常用的功能之一,負載均衡,一方面是将單一的重負載分擔到多個網絡節點上做并行處理,每個節點處理結束後将結果彙總傳回給使用者,這樣可以大幅度提高網絡系統的處理能力;另一方面将大量的前端并發請求或資料流量分擔到多個後端網絡節點分别處理,這樣可以有效減少前端使用者等待相應的時間。而 Nginx 負載均衡都是屬于後一方面,主要是對大量前端通路或流量進行分流,已保證前端使用者通路效率,并可以減少後端伺服器處理壓力。

  (3)Web 緩存

  在很多優秀的網站中,Nginx 可以作為前置緩存伺服器,它被用于緩存前端請求,進而提高 Web伺服器的性能。Nginx 會對使用者已經通路過的内容在伺服器本地建立副本,這樣在一段時間内再次通路該資料,就不需要通過 Nginx 伺服器向後端送出請求。減輕網絡擁堵,減小資料傳輸延時,提高使用者通路速度。

3、Nginx 安裝和初步使用

關于 Nginx 的安裝,分為在 Windows 平台和 Linux 平台安裝,Windows 版本的 Nginx 伺服器在效率上要比 Linux 版本的 Nginx 伺服器差一些,而且實際使用的一般都是 Linux 平台的 Nginx 伺服器。是以後期我們介紹時也會以 Linux 版本的為主。

(1)下載下傳位址

Nginx 下載下傳位址:http://nginx.org/en/download.html

Nginx的簡介與安裝(Nginx學習一)

開發版本主要用于 Nginx 軟體項目的研發,穩定版本說明可以作為 Web 伺服器投入商業應用。這裡我們選擇目前穩定版本:nginx-1.18.0

(2)Windows 版本安裝

我們将下載下傳好的 nginx-1.18.0.zip 檔案解壓。

解壓後如圖:

Nginx的簡介與安裝(Nginx學習一)

這個目錄下的主要檔案夾介紹:

1、conf 目錄:存放 Nginx 的主要配置檔案,很多功能實作都是通過配置該目錄下的 nginx.conf 檔案,後面我們會詳細介紹。

2、docs 目錄:存放 Nginx 伺服器的主要文檔資料,包括 Nginx 伺服器的 LICENSE、OpenSSL 的 LICENSE 、PCRE 的 LICENSE 以及 zlib 的 LICENSE ,還包括本版本的 Nginx伺服器更新的版本變更說明,以及 README 文檔。

3、html 目錄:存放了兩個字尾名為 .html 的靜态網頁檔案,這兩個檔案與 Nginx 伺服器的運作相關。

4、logs 目錄:存放 Nginx 伺服器運作的日志檔案。

5、nginx.exe:啟動 Nginx 伺服器的exe檔案,如果 conf 目錄下的 nginx.conf 檔案配置正确的話,通過該檔案即可啟動 Nginx 伺服器。

  一、啟動Nginx

  輕按兩下解壓之後目錄中的 nginx.exe 檔案,出現一閃而過的畫面,啟動成功。

在浏覽器中輸入 http://localhost 或者 http://localhost:80 出現如下界面表示啟動成功。

  

Nginx的簡介與安裝(Nginx學習一)

  ps:該頁面即是上面解壓目錄中 html 目錄下的 index.html 檔案。

  二、關閉 nginx

打開指令行,切換到解壓之後的目錄,輸入如下指令:

nginx.exe -s stop
           

或者打開任務管理器,找到 nginx 的程序,直接右鍵結束程序。

三、windows下nginx常用指令

cmd 進入Nginx解壓目錄 執行以下指令

啟動nginx服務: start nginx 

修改配置後重新加載生效: nginx -s reload

重新打開日志檔案: nginx -s reopen

測試nginx配置檔案是否正确: nginx -t -c /path/to/nginx.conf 

驗證配置是否正确: nginx -t

檢視Nginx的版本号: nginx -V

啟動Nginx: start nginx

快速停止或關閉Nginx: nginx -s stop

正常停止或關閉Nginx: nginx -s quit

配置檔案修改重裝載指令: nginx -s reload

清除ngnix所有程序: taskkill /f /t /im nginx.exe
           

(3)Linux 版本安裝

選擇的 Linux 系統為 CentOS7.3。

一、安裝 nginx 環境

1 yum install gcc-c++
2 yum install -y pcre pcre-devel
3 yum install -y zlib zlib-devel
4 yum install -y openssl openssl-devel
           

對于 gcc,因為安裝nginx需要先将官網下載下傳的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境的話,需要安裝gcc。

對于 pcre,prce(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的正規表達式庫。nginx的http子產品使用pcre來解析正規表達式,是以需要在linux上安裝pcre庫。

對于 zlib,zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的内容進行gzip,是以需要在linux上安裝zlib庫。

對于 openssl,OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協定,并提供豐富的應用程式供測試或其它目的使用。nginx不僅支援http協定,還支援https(即在ssl協定上傳輸http),是以需要在linux安裝openssl庫。

二、編譯安裝

首先将下載下傳的 nginx-1.18.0.tar.gz 檔案複制到 Linux 系統中,然後解壓:

1 tar -zxvf nginx-1.18.0.tar.gz
           

接着進入到解壓之後的目錄,進行編譯安裝。

1 cd nginx-1.18.0
2 ./configure --prefix=/usr/local/nginx
3 make
4 make install
           

注意:指定 /usr/local/nginx 為nginx 服務安裝的目錄

  。

三、啟動 nginx

進入到 /usr/local/nginx 目錄,檔案目錄顯示如下:

1 cd /usr/local/nginx
           
Nginx的簡介與安裝(Nginx學習一)

接着我們進入到 sbin 目錄,啟動 nginx:

1 cd sbin
2 ./nginx
           

當然也可以配置環境指令,這樣在任意目錄都能啟動 nginx。

Linux 沒有消息就好消息,不提示任何資訊說明啟動成功。

 

或者也可以輸入如下指令,檢視 nginx 是否有服務正在運作:

1 ps -ef | grep nginx
           

然後我們在浏覽器輸入Linux系統的IP位址,出現windows安裝成功的界面即可。

Nginx的簡介與安裝(Nginx學習一)

四、關閉 nginx

有兩種方式:

方式1:快速停止

1 cd /usr/local/nginx/sbin
2 ./nginx -s stop
           

此方式相當于先查出nginx程序id再使用kill指令強制殺掉程序。不太友好。

方式2:平緩停止

1 cd /usr/local/nginx/sbin
2 ./nginx -s quit
           

此方式是指允許 nginx 服務将目前正在處理的網絡請求處理完成,但不在接收新的請求,之後關閉連接配接,停止工作。

五、重新開機 nginx

方式1:先停止再啟動

1 ./nginx -s quit
2 ./nginx
           

相當于先執行停止指令再執行啟動指令。

方式2:重新加載配置檔案

1 ./nginx -s reload
           

通常我們使用nginx修改最多的便是其配置檔案 nginx.conf。修改之後想要讓配置檔案生效而不用重新開機 nginx,便可以使用此指令。

六、配置nginx指令

1.編輯/etc/profile 檔案

1 vi /etc/profile
           

2:添加配置 如下

Nginx的簡介與安裝(Nginx學習一)

配置内容

PATH=$PATH:/usr/local/nginx/sbin
export PATH
           

ps: /usr/local/nginx/sbin為nginx安裝路徑下的sbin目錄

生效配置:

1 source /etc/profile
           

然後我們再來看看效果

1 nginx -v
           

可以看到nginx版本資訊

Nginx的簡介與安裝(Nginx學習一)

七、檢測配置檔案文法是否正确

方式1:通過如下指令,指定需要檢查的配置檔案

1 nginx -t -c  /usr/local/nginx/conf/nginx.conf
           

文法正确結果如下:

Nginx的簡介與安裝(Nginx學習一)

方式2:通過如下指令,不加 -c 參數,預設檢測nginx.conf 配置檔案。

1 nginx -t 
           

文法正确結果如下:

Nginx的簡介與安裝(Nginx學習一)

繼續閱讀