Linux上安裝nginx

環境:centos7   nginx1.16.1(源碼安裝)html

1、下載nginx源碼包nginx

  地址:http://nginx.org/en/download.htmlc++

  Mainline version(主線版本)Stable version(穩定版本)Legacy versions(傳統老版本)正則表達式

  下載穩定版:nginx-1.16.1.tar.gz算法

2、安裝相關依賴centos

  gcc  gcc-c++  zlib  zlib-devel  openssl  openssl-devel  pcre  pcre-devel緩存

  gcc,gcc-c++  #c,c++編譯器,用來編譯安裝安全

  zlib,zlib-devel  #壓縮和解壓的函數庫,網頁文件壓縮要用到它服務器

  openssl,openssl-devel  #網絡通訊安全協議庫,包含衆多的密碼算法、公鑰基礎設施標準以及SSL協議網絡

3、安裝Nginx

  (1).解包

  [root@izm5e8nyz28va3a786y465z src]# tar -zxvf nginx-1.16.1.tar.gz 

  (2).編譯配置(進入到解壓的文件夾)./configure  --選項   

    ./configure  --prefix=/usr/local/nginx1.16.1  --sbin-path=/usr/sbin/nginx  --conf-path=/etc/nginx/nginx.conf  --error-log-path=/var/log/nginx/error.log  --pid-path=/var/run/nginx/nginx.pid --http-log-path=/var/log/nginx/access.log  --http-client-body-temp-path=/var/tem/nginx/client  --http-proxy-temp-path=/var/tem/nginx/proxy  --http-fastcgi-temp-path=/var/tem/nginx/fcgi  --with-http_ssl_module  --with-http_flv_module  --with-http_gzip_static_module  --with-http_stub_status_module  --with-pcre  --with-openssl

    1. 路徑配置(不設置則爲默認路徑)

    --prefix=/usr/local/nginx1.16.1  #nginx的安裝路徑,全部其它路徑都要依賴該選項

    --sbin-path=/usr/sbin/nginx   #指定nginx二進制文件的路徑,不指定則:/usr/local/nginx/sbin/nginx

    --conf-path=/etc/nginx/nginx.conf  #nginx配置文件路徑,不指定則:/usr/local/nginx/conf/nginx.conf

    --error-log-path=/var/log/nginx/error.log  #nginx錯誤日誌路徑,不指定則:/usr/local/nginx/logs/error.log

    --pid-path=/var/run/nginx/nginx.pid  #pid文件路徑,不指定則:/usr/local/nginx/logs/nginx.pid

    --http-log-path=/var/log/nginx/access.log  #http訪問日誌路徑

    --http-client-body-temp-path=/var/tem/nginx/client  #存儲客戶端請求主主體的臨時目錄

    --http-proxy-temp-path=/var/tem/nginx/proxy #存儲代理服務器接收數據的臨時文件 

    --http-fastcgi-temp-path=/var/tem/nginx/fcgi  # 設置存儲HTTP fastcgi的臨時文件的路徑 

    2.模塊配置

    --http_v2_module      #用於支持http2協議

    --with-http_ssl_module      #用於支持https協議

    --with-http_flv_module    #視頻直播模塊

    --with-http_gzip_module   #是nginx默認編譯的模塊,對網頁文件壓縮

    --with-http_gzip_static_module   #加載gz靜態緩存模塊,開啓後服務器優先返回gz文件    

    --with-http_stub_status_module  #http服務狀態模塊

    3. 其它功能啓用

    --with-pcre  #開啓正則表達式

    --with-openssl  #啓用OpenSSL(安全套接字層密碼庫)啓用後可支持https,ssl證書

    3.用戶,用戶組配置

     --user=www  #nginx工做進程的用戶名,默認:user  nobody;

     nobody 是系統用戶,是一個不能登錄的賬號,一個特殊用途的用戶 ID,uid<500通常都是系統ID

     --group=www   #nginx工做進程的用戶組,默認:group  nogroup

        nginx 只有一個主進程和多個工做進程,主進程主要讀取和評估配置文件正確性,以及管理工做進程

      工做進程是真正的網絡請求處理的進程

   (3)編譯 

     make    

   (4)安裝

     make  install 

    小技巧:安裝nginx後,怎麼加入其它沒有編譯的模塊(不重裝nginx)

    1.查看編譯安裝的配置信息:nginx -V

    

    2.進入以前下載並解壓了的源碼包目錄,從新編譯nginx  ,在原來配置參數後加上配置信息

     ./configure  --prefix=xxx  ..... 回車,再 make

    3. 將新生成的nginx二進制文件替換掉原來的nginx二進制文件(中止nginx

      先備份原來的二進制文件:#防止失敗

     cp  /usr/local/nginx/sbin/nginx   /usr/local/nginx/sbin/nginx.bak  #防止失敗

     替換掉原來的二進制文件:新生成的二進制文件  ./objs/nginx

      cp  ./objs/nginx  /usr/local/nginx/sbin

     4. 查看是否成功

      啓動nginx   # nginx  -V

4、nginx服務控制

  1. 啓動nginx

  [root@izm5e8nyz28va3a786y465z tmp]# nginx

   nginx: [emerg] mkdir() "/var/tem/nginx/client" failed (2: No such file or directory)

 

  緣由:缺乏這個文件夾

  建立:mkdir  -p  /var/tem/nginx/client

  修改全部者:chown  nobody  /var/tem/nginx/client

  以後,nginx能正常啓動

  2.

相關文章
相關標籤/搜索