Nginx的功能特別多,這裏我只介紹幾個經常使用的功能。html
①、反向代理前端
這是 Nginx 服務器做爲 WEB 服務器的主要功能之一,客戶端向服務器發送請求時,會首先通過 Nginx 服務器,由服務器將請求分發到相應的WEB服務器。正向代理是代理客戶端,而反向代理則是代理服務器,Nginx在提供反向代理服務方面,經過使用正則表達式進行相關配置,採起不一樣的轉發策略,配置至關靈活,並且在配置後端轉發請求時,徹底不用關心網絡環境如何,能夠指定任意的IP地址和端口號,或其餘類型的鏈接、請求等。linux
②、負載均衡nginx
這也是 Nginx 最經常使用的功能之一,負載均衡,一方面是將單一的重負載分擔到多個網絡節點上作並行處理,每一個節點處理結束後將結果彙總返回給用戶,這樣能夠大幅度提升網絡系統的處理能力;另外一方面將大量的前端併發請求或數據流量分擔到多個後端網絡節點分別處理,這樣能夠有效減小前端用戶等待相應的時間。而 Nginx 負載均衡都是屬於後一方面,主要是對大量前端訪問或流量進行分流,已保證前端用戶訪問效率,並能夠減小後端服務器處理壓力。c++
③、Web 緩存正則表達式
在不少優秀的網站中,Nginx 能夠做爲前置緩存服務器,它被用於緩存前端請求,從而提升 Web服務器的性能。Nginx 會對用戶已經訪問過的內容在服務器本地創建副本,這樣在一段時間內再次訪問該數據,就不須要經過 Nginx 服務器向後端發出請求。減輕網絡擁堵,減少數據傳輸延時,提升用戶訪問速度。算法
關於Nginx的安裝,分爲在Windows平臺和Linux平臺安裝,Windows版本的Nginx服務器在效率上要比Linux版本的Nginx服務器差一些,並且實際使用的通常都是Linux平臺的Nginx服務器。後端
Nginx下載地址:http://nginx.org/en/download.htmlcentos
解壓目錄以下:瀏覽器
下面對這個目錄下的主要文件夾進行介紹:
一、conf 目錄:存放 Nginx 的主要配置文件,不少功能實現都是經過配置該目錄下的nginx.conf文件。
二、docs 目錄:存放 Nginx 服務器的主要文檔資料,包括 Nginx 服務器的LICENSE、OpenSSL的LICENSE 、PCRE的LICENSE以及zlib的LICENSE ,還包括本版本的Nginx服務器升級的版本變動說明,以及README文檔。
三、html 目錄:存放了兩個後綴名爲.html的靜態網頁文件,這兩個文件與Nginx服務器的運行相關。
四、logs 目錄:存放Nginx服務器運行的日誌文件。
五、nginx.exe:啓動Nginx服務器的exe文件,若是conf目錄下的nginx.conf文件配置正確的話,經過該文件便可啓動Nginx服務器。
雙擊解壓以後目錄中的Nginx.exe文件,出現一閃而過的畫面,而後在瀏覽器中輸入http://localhost,出現以下界面表示Nginx啓動成功。
進入到解壓後的目錄,輸入以下命令:
nginx.exe -s stop
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環境。
對於 pcre,是一個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.16.1.tar.gz文件複製到linux系統中,而後解壓:
tar -zxvf nginx-1.16.1.tar.gz
而後進入到解壓以後的目錄,進行編譯和安裝:
./configure --prefix=/usr/local/nginx
make
make install
進入到/usr/local/nginx目錄下,文件目錄顯示以下:
[root@centos76 nginx-1.16.1]# cd /usr/local/nginx/ [root@centos76 nginx]# ls client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp [root@centos76 nginx]# cd sbin/ [root@centos76 sbin]# ls nginx nginx.old [root@centos76 sbin]#
進入到sbin目錄下,執行以下命令啓動nginx:
[root@centos76 sbin]# ./nginx
使用以下命令,查看Nginx是否啓動成功。
[root@centos76 sbin]# ps -ef | grep nginx root 14306 1 0 08:07 ? 00:00:00 nginx: master process ./nginx nobody 14307 14306 0 08:07 ? 00:00:00 nginx: worker process root 14387 9191 0 08:08 pts/0 00:00:00 grep --color=auto nginx
在瀏覽器中輸入linux系統的IP地址,出現以下界面表示Nginx安裝成功。
兩種方式:
方式1:快速中止
cd /usr/local/nginx/sbin
./nginx -s stop
此方式至關於先查出Nginx進程的id,而後再使用kill命令強制殺掉進程,不太友好。
方式2:平緩中止
cd /usr/local/nginx/sbin
./nginx -s quit
此方式是指容許Nginx服務將當前正在處理的網絡請求處理完成,但不在接收新的請求,以後關閉鏈接,中止工做。
方式1:先中止再啓動
./nginx -s quit
./nginx
方式2:從新加載配置文件
./nginx -s reload
一般咱們使用nginx修改最多的即是其配置文件nginx.conf。修改以後想要讓配置文件生效而不用重啓 nginx,可使用此命令。
方式1:指定須要檢查的配置文件。
[root@centos76 sbin]# ./nginx -t -c /usr/local/nginx/conf/nginx.conf nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
方式2:不加-c,默認檢測nginx.conf配置文件。
[root@centos76 sbin]# ./nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
參考:https://www.cnblogs.com/ysocean/p/9384877.html