Centos7安裝Nginx實戰

阿豪聊乾貨發表於2017-05-22

一、背景

  最近在寫一些自己的專案,用到了nginx,所以自己動手來在Centos7上安裝nginx,以下是安裝步驟。

二、基本概念以及應用場景

1.什麼是nginx

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

2.Nginx的應用場景

 1).http伺服器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態伺服器。

 2).虛擬主機。可以實現在一臺伺服器虛擬出多個網站。例如個人網站使用的虛擬主機。

 3).反向代理,負載均衡。當網站的訪問量達到一定程度後,單臺伺服器不能滿足使用者的請求時,需要用多臺伺服器叢集可以使用nginx做反向代理。並且多臺伺服器可以平均分擔負載,不會因為某臺伺服器負載高當機而某臺伺服器閒置的情況。

三、安裝步驟

1.檢查並安裝所需的依賴軟體

 1).gcc:nginx編譯依賴gcc環境

   安裝命令:yum install gcc-c++

 2).pcre:(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的正規表示式庫。nginxhttp模組使用pcre來解析正規表示式.

   安裝命令:yum install -y pcre pcre-devel

 3).zlib:該庫提供了很多種壓縮和解壓縮的方式,nginx使用zlibhttp包的內容進行gzip。

   安裝命令:yum install -y zlib zlib-devel

 4).openssl:一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。nginx不僅支援http協議,還支援https(即在ssl協議上傳輸http).

   安裝命令:yum install -y openssl openssl-devel

2.下載nginx原始碼包

 下載命令:wget http://nginx.org/download/nginx-1.12.0.tar.gz

3.解壓縮原始碼包並進入

 1).解壓縮:tar -zxvf nginx-1.12.0.tar.gz

 2).進入解壓縮後資料夾:cd nginx-1.12.0

4.配置編譯引數命令:(可以使用./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

注:安裝之前需要手動建立上面指定的nginx資料夾,即/var/temp、/var/temp/nginx、/var/run/nginx/資料夾,否則啟動時報錯

5.編譯並安裝

  命令:make && make install

  可以進入/usr/local/nginx檢視檔案是否存在conf、sbin、html資料夾,若存在則安裝成功

四、基本使用

1.啟動nginx

 1).進入安裝目錄

   cd /usr/local/nginx/sbin/

 2).啟動

   ./nginx

 3).若報錯:[emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)

   需要檢視下是不是在/var/run資料夾下不存在nginx資料夾,不存在則新建

 4).檢視是否啟動:ps -ef | grep nginx

   如果有master和worker兩個程式證明啟動成功

      

  注意:執行./nginx啟動nginx,這裡可以-c指定載入的nginx配置檔案,如下:

   ./nginx -c /usr/local/nginx/conf/nginx.conf

   如果不指定-c,nginx在啟動時預設載入conf/nginx.conf檔案,此檔案的地址也可以在編譯安裝nginx時指定./configure的引數(--conf-path= 指向配置檔案(nginx.conf))

2.停止

 1).暴利kill(不推薦使用)

   kill -9 processId

 2).快速停止

   cd /usr/local/nginx/sbin && ./nginx -s stop

   此方式相當於先查出nginx程式id再使用kill命令強制殺掉程式

 3).完整停止(建議使用)

   cd /usr/local/nginx/sbin && ./nginx -s quit

   此方式停止步驟是待nginx程式處理任務完畢進行停止

3.重啟及重新載入配置

  1.先停止再啟動(建議使用)

    ./nginx -s quit && ./nginx

  2.重新載入配置檔案
    ./nginx -s reload

4.測試

  nginx安裝成功,啟動nginx,即可通過ip地址來訪問nginx:

  

相關文章