之前寫過一些Nginx的文章,但都是用到什麼說什麼,沒有一個完整系統的總結。趁最近有時間,打算將Nginx相關的內容從新整理一下。nginx系列文章地址以下:https://www.cnblogs.com/zhangweizhong/category/1529997.htmlhtml
Nginx是一款高性能的http 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。由俄羅斯的程序設計師Igor Sysoev所開發,官方測試nginx可以支支撐5萬併發連接,而且cpu、內存等資源消耗卻很是低,運行很是穩定。linux
一、http服務器。Nginx是一個http服務能夠獨立提供http服務。能夠作網頁靜態服務器。nginx
二、虛擬主機。能夠實如今一臺服務器虛擬出多個網站。例如我的網站使用的虛擬主機。c++
三、反向代理,負載均衡。當網站的訪問量達到必定程度後,單臺服務器不能知足用戶的請求時,須要用多臺服務器集羣可使用nginx作反向代理。而且多臺服務器能夠平均分擔負載,不會由於某臺服務器負載高宕機而某臺服務器閒置的狀況。正則表達式
進入http://nginx.org/en/download.html,我這邊使用的是nginx1.8.0版本,你們能夠下載最新穩定版。算法
我這裏是Centos7.0做爲安裝環境,除此以外還要安裝gcc,pcre等軟件,都是一個命令就安裝的,這裏就不一一細說了。安全
安裝的前提條件:服務器
gcc併發
安裝nginx須要先將官網下載的源碼進行編譯,編譯依賴gcc環境,若是沒有gcc環境,須要安裝gcc。負載均衡
yum install gcc-c++
PCRE
PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx的http模塊使用pcre來解析正則表達式,因此須要在linux上安裝pcre庫。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre開發的一個二次開發庫。nginx也須要此庫。
zlib
zlib庫提供了不少種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,因此須要在linux上安裝zlib庫。
yum install -y zlib zlib-devel
openssl
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。
nginx不只支持http協議,還支持https(即在ssl協議上傳輸http),因此須要在linux安裝openssl庫。
yum install -y openssl openssl-devel
安裝環境準備好以後,下面就開始安裝,具體安裝步驟以下:
1. 將nginx-1.8.0.tar.gz拷貝至linux服務器,並解壓。
解壓:
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
二、建立一個makefile文件。經過./configure 命令來配置相關的參數。具體命令以下:
./configure --help查詢詳細參數
./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi
注意:上邊將臨時文件目錄指定爲/var/temp/nginx,須要在/var下建立temp及nginx目錄
三、編譯
make
四、安裝
make install
安裝成功查看安裝目錄 :
cd /usr/local/nginx/sbin/ ./nginx
查詢nginx進程:ps aux|grep nginx
注意:執行./nginx啓動nginx,這裏能夠-c指定加載的nginx配置文件,以下:
./nginx -c /usr/local/nginx/conf/nginx.conf
若是不指定-c,nginx在啓動時默認加載conf/nginx.conf文件,此文件的地址也能夠在編譯安裝nginx時指定./configure的參數(--conf-path= 指向配置文件(nginx.conf))
方式1:快速中止:
cd /usr/local/nginx/sbin ./nginx -s stop
此方式至關於先查出nginx進程id再使用kill命令強制殺掉進程。
方式2:完整中止(建議使用):
cd /usr/local/nginx/sbin ./nginx -s quit
此方式中止步驟是待nginx進程處理任務完畢進行中止。
方式1:先中止再啓動(建議使用):
對nginx進行重啓至關於先中止nginx再啓動nginx,即先執行中止命令再執行啓動命令。
以下:
./nginx -s quit
./nginx
方式2:從新加載配置文件:
當nginx的配置文件nginx.conf修改後,要想讓配置生效須要重啓nginx,使用-s reload不用先中止nginx再啓動nginx便可將配置信息在nginx中生效,以下:
./nginx -s reload
nginx安裝成功,啓動nginx,便可訪問虛擬機上的nginx:
到這說明nginx基本上安裝成功。