目錄
1、Nginx 的簡介
Nginx 是由俄羅斯人 Igor Sysoev 設計開發的,開發工作從2002 年開始,第一次公開發布在 2004 年 10 月 4 日。
官方網站爲:http://nginx.org/ 。它是一款免費開源的高性能 HTTP 代理服務器及反向代理服務器(Reverse Proxy)產品,同時它還可以提供 IMAP/POP3 郵件代理服務等功能。它高併發性能很好,官方測試能夠支撐 5 萬的併發量;運行時內存和 CPU 佔用率低,配置簡單,容易上手,而且運行非常穩定。
2、Nginx 的常用功能
其實 Nginx 的功能特別多,這裏我只介紹幾個常用的功能,具體的大家可以參考官網介紹。
①、反向代理
這是 Nginx 服務器作爲 WEB 服務器的主要功能之一,客戶端向服務器發送請求時,會首先經過 Nginx 服務器,由服務器將請求分發到相應的 WEB 服務器。正向代理是代理客戶端,而反向代理則是代理服務器,Nginx 在提供反向代理服務方面,通過使用正則表達式進行相關配置,採取不同的轉發策略,配置相當靈活,而且在配置後端轉發請求時,完全不用關心網絡環境如何,可以指定任意的IP地址和端口號,或其他類型的連接、請求等。
②、負載均衡
這也是 Nginx 最常用的功能之一,負載均衡,一方面是將單一的重負載分擔到多個網絡節點上做並行處理,每個節點處理結束後將結果彙總返回給用戶,這樣可以大幅度提高網絡系統的處理能力;另一方面將大量的前端併發請求或數據流量分擔到多個後端網絡節點分別處理,這樣可以有效減少前端用戶等待相應的時間。而 Nginx 負載均衡都是屬於後一方面,主要是對大量前端訪問或流量進行分流,已保證前端用戶訪問效率,並可以減少後端服務器處理壓力。
③、Web 緩存
在很多優秀的網站中,Nginx 可以作爲前置緩存服務器,它被用於緩存前端請求,從而提高 Web服務器的性能。Nginx 會對用戶已經訪問過的內容在服務器本地建立副本,這樣在一段時間內再次訪問該數據,就不需要通過 Nginx 服務器向後端發出請求。減輕網絡擁堵,減小數據傳輸延時,提高用戶訪問速度。
3、Nginx 安裝
關於 Nginx 的安裝,分爲在 Windows 平臺和 Linux 平臺安裝,Windows 版本的 Nginx 服務器在效率上要比 Linux 版本的 Nginx 服務器差一些,而且實際使用的一般都是 Linux 平臺的 Nginx 服務器。所以後期我們介紹時也會以 Linux 版本的爲主。
①、下載地址
Nginx 下載地址:http://nginx.org/en/download.html
開發版本主要用於 Nginx 軟件項目的研發,穩定版本說明可以作爲 Web 服務器投入商業應用。這裏我們選擇當前穩定版本:nginx-1.14.0
②、Windows 版本安裝
我們將上一步下載的 nginx-1.14.0.zip 文件解壓到當前目錄。注:解壓目錄不可以有中文, 不然會無法啓動。
解壓目錄如下:
下面對這個目錄下的主要文件夾進行介紹:
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 出現如下界面即啓動成功。
ps:該頁面即是上面解壓目錄中 html 目錄下的 index.html 文件。
關閉方式,與此配合的方式就是用任務管理器關閉了~
注: nginx啓動之後,在任務管理裏有兩個nginx進程,這個是正常的,一個是1個守護進程 1個工作進程,得手動分別關閉。
啓動方式——命令行
假設nginx在d:/software/nginx目錄下,那麼就需要通過如下命令啓動:
cmd
cd d:/software/nginx
d:
start nginx
關閉方式也是與之對應的
nginx -s stop
③、Linux 版本安裝
選擇的 Linux 系統爲 CentOS6.8。
一、安裝 nginx 環境
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
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.14.0.tar.gz 文件複製到 Linux 系統中,然後解壓:
tar -zxvf nginx-1.14.0.tar.gz
接着進入到解壓之後的目錄,進行編譯安裝。
./configure --prefix=/usr/local/nginx
make
make install
注意:指定 /usr/local/nginx 爲nginx 服務安裝的目錄。
三、啓動 nginx
進入到 /usr/local/nginx 目錄,文件目錄顯示如下:
接着我們進入到 sbin 目錄,通過如下命令啓動 nginx:
./nginx
當然你也可以配置環境命令,這樣在任意目錄都能啓動 nginx。
Linux 沒有消息就好消息,不提示任何信息說明啓動成功。
或者也可以輸入如下命令,查看 nginx 是否有服務正在運行:
ps -ef | grep nginx
然後我們在瀏覽器輸入Linux系統的IP地址,出現windows安裝成功的界面即可。
四、關閉 nginx
有兩種方式:
方式1:快速停止
cd /usr/local/nginx/sbin
./nginx -s stop
此方式相當於先查出nginx進程id再使用kill命令強制殺掉進程。不太友好。
方式2:平緩停止
cd /usr/local/nginx/sbin
./nginx -s quit
此方式是指允許 nginx 服務將當前正在處理的網絡請求處理完成,但不在接收新的請求,之後關閉連接,停止工作。
五、重啓 nginx
方式1:先停止再啓動
./nginx -s quit
./nginx
相當於先執行停止命令再執行啓動命令。
方式2:重新加載配置文件
./nginx -s reload
通常我們使用nginx修改最多的便是其配置文件 nginx.conf。修改之後想要讓配置文件生效而不用重啓 nginx,便可以使用此命令。
六、檢測配置文件語法是否正確
方式1:通過如下命令,指定需要檢查的配置文件
nginx -t -c /usr/local/nginx/conf/nginx.conf
方式2:通過如下命令,不加 -c 參數,默認檢測nginx.conf 配置文件。
nginx -t