天天看點

Nginx安裝的兩種方法Nginx安裝的兩種方法

centos作業系統,自帶的包管理器就是yum,配置yum源,通過yum源安裝nginx的方法很簡單,這就是方法一的優點;方法一的缺點就是,我們安裝nginx時,無法定義安裝哪些子產品。這裡我們解釋一下子產品的概念,nginx的結構是高度的子產品話的,不同的子產品擁有不同的功能,是以,我們想要在使用nginx的時候可以使用某些特定的功能就必須安裝對應的子產品。不過,yum安裝的nginx,包含了常用的基本子產品,不需要我們安裝子產品。

方法二與方法一的優缺點相對應,方法二的優點就是我們可以自定義子產品的安裝,需要什麼功能就安裝什麼子產品,自由度很高。缺點就是,管理不友善,更新也不友善。

nginx有兩個方向的版本,一個是開源的免費版,一個是商業版。

這兩個版本的網站:

開源版:nginx.org

商業版:nginx.com

配置官方nginx的yum源

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=0

enabled=1

完成上述配置即可成功安裝nginx

yum install nginx -y

下載下傳源碼包

#wget http://nginx.org/download/nginx-1.12.2.tar.gz

#tar -xvf nginx-1.12.2.tar.gz

#cd nginx-1.12.2.tar.gz

Nginx安裝的兩種方法Nginx安裝的兩種方法

此處,我們大概描述一下上述檔案與目錄的作用,與編譯其他軟體一樣,我們需要使用此目錄中的configure腳本檔案,進行一些編譯安裝的相關設定,如果你想要看看目前的版本的nginx都修複了哪些bug、做了哪些變更、新增了哪些功能,則可以檢視changes檔案,changes.ru檔案是changes檔案的俄語版,因為nginx是俄國人發明的,是以有一個單獨的俄語版,conf目錄中的檔案是一些nginx配置檔案的模闆檔案,編譯安裝時,這些檔案最終會被拷貝到安裝目錄中,html目錄中的檔案是一些靜态頁面的模闆檔案,src目錄是源代碼目錄,man目錄是幫助文檔的目錄,contrib目錄中的vim目錄中的檔案可以幫助我們在使用vim編輯nginx配置檔案的時候,提供文法高亮功能。

執行下面指令,我們可以看到編譯安裝nginx時我們可以使用的配置選項。

#./configure --help

執行“./configure --help”指令後,你可以看到很多選項資訊,此處就不列出這些資訊了,最常用的莫過于--prefix選項了,使用--prefix選項可以指定nginx編譯安裝目錄,除了一些常見的目錄設定選項,你應該還會看到好多類似“--with-xxx_module”或“--without-xxx_module”的選項,這些選項是什麼意思呢?說到這些選項,又要提到我們剛才介紹的概念了,那就是“子產品”的概念,我們已經知道,nginx是高度子產品化的,每一個子產品就代表一個功能,而且剛才也提到過,隻有編譯安裝的方式才能指定安裝哪些子產品,不安裝哪些子產品,其實,你可以這樣了解,“--with-xxx_module”選項表示指明安裝對應的子產品,“--without-xxx_module”選項表示指明不安裝對應的子產品。

換句話說就是:

如果你沒有明确使用“--with-axx_module”選項,那麼預設情況下是不會安裝axx子產品的。

如果你沒有明确使用“--without-bxx_module”選項,那麼預設情況下是會安裝bxx子產品的。

使用“--with-xxx_module”選項添加預設未加入的子產品,使用“--with-xxx_module”選項排除預設會加入的子產品。

能夠使用“--with-xxx_module”和“--without-xxx_module”控制的子產品都是“可選”子產品,也就是說我們可以選擇是否安裝它們,除了這些“可選子產品”,還有一些“标準”子產品是預設安裝到nginx中的,我們無法選擇是否安裝這些表準“子產品”。

現在開始手動編譯安裝。

首先确定我們的編譯器已經安裝。

#yum install gc gcc gcc-c++ -y

我想把nginx安裝到/data/nginx下,是以先确認是否有這個目錄。

mkdir -p /data/nginx

進入剛才解壓源碼包的目錄中

cd nginx-1.12.2/

編譯是為了檢查系統環境是否符合編譯安裝的要求,比如是否有gcc編譯工具,是否支援編譯參數當中的子產品,并根據開啟的參數等生成makefile檔案為下一步做準備:

./configure --prefix=/data/nginx \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_v2_module \

--with-http_realip_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--with-pcre \

--with-stream \

--with-stream_ssl_module \

--with-stream_realip_module

make #編譯步驟,根據makefile檔案生成相應的子產品

make install #建立目錄,并将生成的子產品和檔案複制到相應的目錄

useradd nginx -s /sbin/nologin -u 2000

chown nginx.nginx -r /apps/nginx/

備注:

nginx完成安裝以後,有四個主要的目錄:

conf:儲存nginx所有的配置檔案,其中nginx.conf是nginx伺服器的最核心最主要的配置檔案,其他的.conf

則是用來配置nginx相關的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params兩個檔案,

配置檔案一般都有個樣闆配置檔案,是檔案名.default結尾,使用的使用将其複制為并将default去掉即可。

html目錄中儲存了nginx伺服器的web檔案,但是可以更改為其他目錄儲存web檔案,另外還有一個50x的web檔案

是預設的錯誤頁面提示頁面。

logs:用來儲存nginx伺服器的通路日志錯誤日志等日志,logs目錄可以放在其他路徑,比

如/var/logs/nginx裡面。

sbin:儲存nginx二進制啟動腳本,可以接受不同的參數以實作不同的功能。

驗證版本及編譯參數:

2.4.2.3:通路編譯安裝的nginx web界面:

#./configure --prefix=/apps/nginx \

#make #編譯步驟,根據makefile檔案生成相應的子產品

#make install #建立目錄,并将生成的子產品和檔案複制到相應的目錄:

#useradd nginx -s /sbin/nologin -u 2000

#chown nginx.nginx -r /apps/nginx/

驗證版本及編譯參數

/apps/nginx/sbin/nginx -v

nginx version: nginx/1.12.2

built by gcc 4.8.5 20150623 (red hat 4.8.5-36) (gcc)

built with openssl 1.0.2k-fips 26 jan 2017

tls sni support enabled

configure arguments: --prefix=/apps/nginx --user=nginx --group=nginx --withhttp_ssl_module --with-http_v2_module --with-http_realip_module --withhttp_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --

with-stream_ssl_module --with-stream_realip_module

執行下面指令啟動nginx

/data/nginx/sbin/nginx

這時候我們就可以通路了

繼續閱讀