1. 程式人生 > >Nginx反向代理伺服器的安裝與啟動

Nginx反向代理伺服器的安裝與啟動

1.什麼是nginx

Nginx 是一款高效能的 http
伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。由俄羅斯的程式設計師伊戈爾·西索夫(Igor
Sysoev)所開發,官方測試 nginx 能夠支支撐 5 萬併發連結,並且 cpu、記憶體等資源消耗卻非常低,執行非常穩定。

nginx的應用場景:

1、http 伺服器。Nginx 是一個 http 服務可以獨立提供 http 服務。可以做網頁靜態伺服器。
2、虛擬主機。可以實現在一臺伺服器虛擬出多個網站。例如個人網站使用的虛擬主機。
3、反向代理,負載均衡。當網站的訪問量達到一定程度後,單臺伺服器不能滿足使用者的請求時,需要用多臺伺服器叢集可以使用 nginx
做反向代理。並且多臺伺服器可以平均分擔負載,不會因為某臺伺服器負載高宕機而某臺伺服器閒置的情況。

Nginx在Linux下的安裝

  1. 環境準備

(1)需要安裝 gcc 的環境【此步省略】

yum install gcc-c++

(2)第三方的開發包。【此步省略】
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下載

官方網站下載 nginx:http://nginx.org/

  1. Nginx安裝
    第一步:把 nginx 的原始碼包nginx-1.8.0.tar.gz上傳到 linux 系統
    Alt+p 啟動sftp ,將nginx-1.8.0.tar.gz上傳
    第二步:解壓縮

    tar zxvf nginx-1.8.0.tar.gz

第三步:進入nginx-1.8.0目錄 使用 configure 命令建立一 makeFile 檔案。

./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

執行後可以看到Makefile檔案
在這裡插入圖片描述

*

---- 知識點小貼士 ---- Makefile是一種配置檔案, Makefile 一個工程中的原始檔不計數,其按型別、功能、模組分別放在若干個目錄中,makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更復雜的功能操作,因為
makefile就像一個Shell指令碼一樣,其中也可以執行作業系統的命令。

---- 知識點小貼士 ---- configure引數 ./configure
–prefix=/usr \ 指向安裝目錄
–sbin-path=/usr/sbin/nginx \ 指向(執行)程式檔案(nginx)
–conf-path=/etc/nginx/nginx.conf \ 指向配置檔案
–error-log-path=/var/log/nginx/error.log \ 指向log
–http-log-path=/var/log/nginx/access.log \ 指向http-log
–pid-path=/var/run/nginx/nginx.pid \ 指向pid
–lock-path=/var/lock/nginx.lock \ (安裝檔案鎖定,防止安裝檔案被別人利用,或自己誤操作。)
–user=nginx
–group=nginx
–with-http_ssl_module \ 啟用ngx_http_ssl_module支援(使支援https請求,需已安裝openssl)
–with-http_flv_module \ 啟用ngx_http_flv_module支援(提供尋求記憶體使用基於時間的偏移量檔案)
–with-http_stub_status_module \ 啟用ngx_http_stub_status_module支援(獲取nginx自上次啟動以來的工作狀態)
–with-http_gzip_static_module \ 啟用ngx_http_gzip_static_module支援(線上實時壓縮輸出資料流)
–http-client-body-temp-path=/var/tmp/nginx/client/ \ 設定http客戶端請求臨時檔案路徑
–http-proxy-temp-path=/var/tmp/nginx/proxy/ \ 設定http代理臨時檔案路徑
–http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \ 設定http fastcgi臨時檔案路徑
–http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ 設定http uwsgi臨時檔案路徑
–http-scgi-temp-path=/var/tmp/nginx/scgi \ 設定http scgi臨時檔案路徑
–with-pcre 啟用pcre庫

第四步:編譯

make

第五步:安裝

make install
  1. Nginx啟動與訪問
    注意:啟動nginx 之前,上邊將臨時檔案目錄指定為/var/temp/nginx/client, 需要在/var 下建立此 目錄

    mkdir /var/temp/nginx/client -p

進入到Nginx目錄下的sbin目錄

cd /usr/local/ngiux/sbin

輸入命令啟動Nginx

./nginx

啟動後檢視程序

ps aux|grep nginx

在這裡插入圖片描述
位址列輸入虛擬機器的IP即可訪問(預設為80埠)
在這裡插入圖片描述
關閉 nginx:

./nginx -s stop

或者

./nginx -s quit

重啟 nginx:
1、先關閉後啟動。
2、重新整理配置檔案:

./nginx -s reload