說到 nginx ,可能大家最先想到的就是其負載均衡以及反向**的功能。沒錯,這也是當前使用 nginx 最頻繁的兩個功能,但是 nginx 可不僅僅只有這兩個功能,其作用還是挺大的,本系列部落格就來慢慢解開 nginx 神秘的面紗。
nginx 是由俄羅斯人 igor sysoev 設計開發的,開發工作從2002 年開始,第一次公開發布在 2004 年 10 月 4 日。
官方**為: 。它是一款免費開源的高效能 http **伺服器及反向**伺服器(reverse proxy)產品,同時它還可以提供 imap/pop3 郵件**服務等功能。它高併發效能很好,官方測試能夠支撐 5 萬的併發量;執行時記憶體和 cpu 佔用率低,配置簡單,容易上手,而且執行非常穩定。
①、反向**
這是 nginx 伺服器作為 web 伺服器的主要功能之一,客戶端向伺服器傳送請求時,會首先經過 nginx 伺服器,由伺服器將請求分發到相應的 web 伺服器。正向**是**客戶端,而反向**則是**伺服器,nginx 在提供反向**服務方面,通過使用正規表示式進行相關配置,採取不同的**策略,配置相當靈活,而且在配置後端**請求時,完全不用關心網路環境如何,可以指定任意的ip位址和埠號,或其他型別的連線、請求等。
②、負載均衡
這也是 nginx 最常用的功能之一,負載均衡,一方面是將單一的重負載分擔到多個網路節點上做並行處理,每個節點處理結束後將結果彙總返回給使用者,這樣可以大幅度提高網路系統的處理能力;另一方面將大量的前端併發請求或資料流量分擔到多個後端網路節點分別處理,這樣可以有效減少前端使用者等待相應的時間。而 nginx 負載均衡都是屬於後一方面,主要是對大量前端訪問或流量進行分流,已保證前端使用者訪問效率,並可以減少後端伺服器處理壓力。
③、web 快取
在很多優秀的**中,nginx 可以作為前置快取伺服器,它被用於快取前端請求,從而提高 web伺服器的效能。nginx 會對使用者已經訪問過的內容在伺服器本地建立副本,這樣在一段時間內再次訪問該資料,就不需要通過 nginx 伺服器向後端發出請求。減輕網路擁堵,減小資料傳輸延時,提高使用者訪問速度。
關於 nginx 的安裝,分為在 windows 平台和 linux 平台安裝,windows 版本的 nginx 伺服器在效率上要比 linux 版本的 nginx 伺服器差一些,而且實際使用的一般都是 linux 平台的 nginx 伺服器。所以後期我們介紹時也會以 linux 版本的為主。
開發版本主要用於 nginx 軟體專案的研發,穩定版本說明可以作為 web 伺服器投入商業應用。這裡我們選擇當前穩定版本:nginx-1.14.0
②、windows 版本安裝
解壓目錄如下:
下面對這個目錄下的主要資料夾進行介紹:
1、conf 目錄:存放 nginx 的主要配置檔案,很多功能實現都是通過配置該目錄下的 nginx.conf 檔案,後面我們會詳細介紹。
2、docs 目錄:存放 nginx 伺服器的主要文件資料,包括 nginx 伺服器的 license、openssl 的 license 、pcre 的 license 以及 zlib 的 license ,還包括本版本的 nginx伺服器公升級的版本變更說明,以及 readme 文件。
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 的程序,直接右鍵結束。
③、linux 版本安裝
選擇的 linux 系統為 centos6.8。
一、安裝 nginx 環境
1 yum install gcc-c++gcc2 yum install -y pcre pcre-devel
3 yum install -y zlib zlib-devel
4 yum install -y openssl openssl-devel
環境,如果沒有
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庫。
二、編譯安裝
1 tar -zxvf nginx-1.14.0.tar.gz接著進入到解壓之後的目錄,進行編譯安裝。
1 ./configure --prefix=/usr/local/nginx注意:指定 /usr/local/nginx 為nginx 服務安裝的目錄。2make
3 make install
三、啟動 nginx
進入到 /usr/local/nginx 目錄,檔案目錄顯示如下:
接著我們進入到 sbin 目錄,通過如下命令啟動 nginx:
./nginx當然你也可以配置環境命令,這樣在任意目錄都能啟動 nginx。
linux 沒有訊息就好訊息,不提示任何資訊說明啟動成功。
或者也可以輸入如下命令,檢視 nginx 是否有服務正在執行:
ps -ef | grep nginx然後我們在瀏覽器輸入linux系統的ip位址,出現windows安裝成功的介面即可。
四、關閉 nginx
有兩種方式:
方式1:快速停止
1 cd /usr/local/nginx/sbin此方式相當於先查出nginx程序id再使用kill命令強制殺掉程序。不太友好。2 ./nginx -s stop
方式2:平緩停止
1 cd /usr/local/nginx/sbin此方式是指允許 nginx 服務將當前正在處理的網路請求處理完成,但不在接收新的請求,之後關閉連線,停止工作。2 ./nginx -s quit
五、重啟 nginx
方式1:先停止再啟動
1 ./nginx -s quit相當於先執行停止命令再執行啟動命令。2 ./nginx
1 ./nginx -s reload通常我們使用nginx修改最多的便是其配置檔案 nginx.conf。修改之後想要讓配置檔案生效而不用重啟 nginx,便可以使用此命令。
Nginx簡介與安裝
nginx engine x 是乙個高效能的http和反向 服務,也是乙個imap pop3 smtp服務。nginx是由伊戈爾 賽索耶夫為俄羅斯訪問量第二的rambler.ru站點 俄文 開發的,第乙個公開版本0.1.0發布於2004年10月4日。其將源 以類bsd許可證的形式發布,因它的穩定性 ...
nginx的簡介與安裝
二 在ubuntu上安裝nginx http伺服器指的是其響應客戶端的http請求,並保持tcp連線 那反向 又是指的什麼?1 正向 打個比方,我們公司有自己的內網,需要專門的vpn進行訪問,此時這個vpn就相當於個正向 伺服器,公司伺服器接收到的請求就是正向 的請求,它並不知道你客戶端的資訊。因此...
Docker (一)簡介與安裝
一 基礎概念 docker 是 paas 提供商 dotcloud 開源的乙個基於 lxc 的高階容器引擎,是乙個新興的輕量級虛擬化技術,其主要動力是在不同的機器上創造無差別的應用執行環境。docker是以docker容器為資源分割和排程的基本單位,封裝整個軟體執行時環境,為開發者和系統管理員設計的...