1. 程式人生 > >centos 下 linux 安裝nignx

centos 下 linux 安裝nignx

 

一、下載nignx

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

二、上傳nignx原始碼到linux

三、要求的安裝環境

  1. 需要安裝gcc的環境 由於是C語言開發的。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、減壓

tar zxvf nginx-1.8.0.tar.gz
--z 包格式
--x 減壓縮  --c 加壓
--v 檢視
--f 包名

 

src下都是c的原始碼

得到原始碼之後需要編譯 不能直接 make  因為沒有 makefile檔案的

帶x的檔案都是可執行的  使用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

\   表示一行命令沒寫完要換行

prefix檔案儲存目錄

注意:啟動nginx之前,上邊將臨時檔案目錄指定為/var/temp/nginx,需要在/var下建立tempnginx目錄

如果報錯:

如果提示:

 checking for OS
 + Linux 2.6.32-431.el6.x86_64 x86_64

 checking for C compiler ... not found

解決:

yum -y install gcc gcc-c++ autoconf automake make

 

這樣就會生成一個MakeFile檔案

現在 make 編譯成二進位制檔案 機器碼 是可執行的檔案

make

安裝: 不用prefix了因為在弄makefile的時候已經指定了

make install

 

               conf 配置檔案

               html 登入 歡迎頁 訪問的目錄

               sbin 有一個ngnix 服務

啟動ngnix: 不用start直接回車

./nginx

啟動失敗了,沒有client目錄

mkdir /var/temp/nginx -p
--可以不寫client目錄的
mkdir /var/temp/nginx/client -p

這樣就啟動了

檢視程序:

 

ps aux|grep nginx
--前面的輸出作為後面的輸入
--a 顯示所有
--u 所有使用者下面
--x 所有終端下面的

master worker 必須存在不染就不好使

 

預設80埠   就是html下面的index.html

 

 

關閉

 ./nginx -s stop

--推薦使用
 ./nginx -s quit

比如nginx正在提供一些高速服務 如果改了一些配置那麼是否需要關閉重啟才行呢?

這樣的話服務會中斷一兩秒 這樣就不好

nginx提供一個開機狀態重新整理配置檔案

[[email protected] nginx]# sbin/nginx -s reload
--我不在sbin目錄下的