Nginx 入門

nginx概述

nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器;同時也是一個IMAP、POP三、SMTP代理服務器;nginx能夠做爲一個HTTP服務器進行網站的發佈處理,另外nginx能夠做爲反向代理進行負載均衡的實現。css

 

nginx支持的負載均衡調度算法方式以下:html

  1. weight輪詢(默認):接收到的請求按照順序逐一分配到不一樣的後端服務器,即便在使用過程當中,某一臺後端服務器宕機,nginx會自動將該服務器剔除出隊列,請求受理狀況不會受到任何影響。 這種方式下,能夠給不一樣的後端服務器設置一個權重值(weight),用於調整不一樣的服務器上請求的分配率;權重數據越大,被分配到請求的概率越大;該權重值,主要是針對實際工做環境中不一樣的後端服務器硬件配置進行調整的。linux

  2. ip_hash:每一個請求按照發起客戶端的ip的hash結果進行匹配,這樣的算法下一個固定ip地址的客戶端總會訪問到同一個後端服務器,這也在必定程度上解決了集羣部署環境下session共享的問題。nginx

  3. fair:智能調整調度算法,動態的根據後端服務器的請求處理到響應的時間進行均衡分配,響應時間短處理效率高的服務器分配到請求的機率高,響應時間長處理效率低的服務器分配到的請求少;結合了前二者的優勢的一種調度算法。可是須要注意的是nginx默認不支持fair算法,若是要使用這種調度算法,請安裝upstream_fair模塊c++

  4. url_hash:按照訪問的url的hash結果分配請求,每一個請求的url會指向後端固定的某個服務器,能夠在nginx做爲靜態服務器的狀況下提升緩存效率。一樣要注意nginx默認不支持這種調度算法,要使用的話須要安裝nginx的hash軟件包正則表達式

Nginx安裝

1. windows安裝

官方網站下載地址:算法

https://nginx.org/en/download.html 

 

以下圖所示,下載對應的版本的nginx壓縮包,解壓到本身電腦上存放軟件的文件夾中便可sql

  解壓完成後,文件目錄結構以下:swift

 

啓動nginx

1) 直接雙擊該目錄下的nginx.exe,便可啓動nginx服務器windows

2) 命令行計入該文件夾,執行nginx命令,也會直接啓動nginx服務器

D:/resp_application/nginx-1.13.5> nginx

 

訪問nginx

打開瀏覽器,輸入地址:http://localhost,訪問頁面,出現以下頁面表示訪問成功

 

中止nginx

命令行進入nginx根目錄,執行以下命令,中止服務器:

# 強制中止nginx服務器,若是有未處理的數據,丟棄
D:/resp_application/nginx-1.13.5> nginx -s stop

# 優雅的中止nginx服務器,若是有未處理的數據,等待處理完成以後中止
D:/resp_application/nginx-1.13.5> nginx -s quit
 

Linux 安裝Nginx

安裝所需環境

Nginx 是 C語言 開發,建議在 Linux 上運行,固然,也能夠安裝 Windows 版本,本篇則使用 CentOS 7 做爲安裝環境。

一. gcc 安裝
安裝 nginx 須要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,若是沒有 gcc 環境,則須要安裝:

yum install gcc-c++

二. PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,因此須要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也須要此庫。命令:

yum install -y pcre pcre-devel

三. zlib 安裝
zlib 庫提供了不少種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,因此須要在 Centos 上安裝 zlib 庫。

yum install -y zlib zlib-devel

四. OpenSSL 安裝
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。
nginx 不只支持 http 協議,還支持 https(即在ssl協議上傳輸http),因此須要在 Centos 安裝 OpenSSL 庫。

yum install -y openssl openssl-devel

官網下載

1.直接下載.tar.gz安裝包,地址:https://nginx.org/en/download.html

nginx.png

2.使用wget命令下載(推薦)。

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

nginx-wget.png

我下載的是1.10.1版本,這個是目前的穩定版。

解壓

依然是直接命令:

tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1

配置

其實在 nginx-1.10.1 版本中你就不須要去配置相關東西,默認就能夠了。固然,若是你要本身配置目錄也是能夠的。
1.使用默認配置

./configure

2.自定義配置(不推薦)

./configure \
--prefix=/usr/local/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --pid-path=/usr/local/nginx/conf/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

查找安裝路徑:

whereis nginx

nginx-whereis.png

啓動、中止nginx

cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload

./nginx -s quit:此方式中止步驟是待nginx進程處理任務完畢進行中止。
./nginx -s stop:此方式至關於先查出nginx進程id再使用kill命令強制殺掉進程。

查詢nginx進程:

ps aux|grep nginx

重啓 nginx

1.先中止再啓動(推薦):
對 nginx 進行重啓至關於先中止再啓動,即先執行中止命令再執行啓動命令。以下:

./nginx -s quit ./nginx

2.從新加載配置文件:
當 ngin x的配置文件 nginx.conf 修改後,要想讓配置生效須要重啓 nginx,使用-s reload不用先中止 ngin x再啓動 nginx 便可將配置信息在 nginx 中生效,以下:
./nginx -s reload

啓動成功後,在瀏覽器能夠看到這樣的頁面:

nginx-welcome.png

開機自啓動

即在rc.local增長啓動代碼就能夠了。

vi /etc/rc.local

增長一行 /usr/local/nginx/sbin/nginx
設置執行權限:

chmod 755 rc.local

nginx-rclocal.png

到這裏,nginx就安裝完畢了,啓動、中止、重啓操做也都完成了,固然,你也能夠添加爲系統服務,我這裏就不在演示了。

相關文章
相關標籤/搜索