官术网_书友最值得收藏!

1.3 安裝Nginx

Nginx可以在不同的操作系統(tǒng)、不同的環(huán)境中安裝。本節(jié)以CentOS 6.9操作系統(tǒng)為例,介紹Nginx的安裝和相關(guān)配置。

使用Yum安裝rpm包的方式比編譯安裝的方式簡(jiǎn)單很多,其默認(rèn)會(huì)安裝許多模塊,但缺點(diǎn)是以后再安裝第三方模塊時(shí)比較麻煩,所以,這里使用編譯安裝的方式安裝Nginx。

1.3.1 選擇安裝版本

在Nginx官網(wǎng)中可下載Nginx安裝包,其中提供了3個(gè)版本:Mainline version、Stable version和Legacy versions。

Mainline version是Nginx目前在主力研發(fā)的版本。Stable version是最新的穩(wěn)定版本,是生產(chǎn)環(huán)境中建議使用的版本。Legacy versions是穩(wěn)定的老版本。

這里選擇Stable version版本:nginx-1.12.2.tar.gz。安裝環(huán)境是CentOS 6.9。因?yàn)樵诎惭b過程所執(zhí)行的命令需要root權(quán)限,所以,這里選擇使用root用戶安裝。

1.3.2 編譯安裝Nginx

1.準(zhǔn)備工作

安裝依賴包:gcc、g++。

安裝必要的庫(kù):zlib、pcre、openssl。

源碼編譯依賴gcc環(huán)境,并且部分Nginx模塊依賴于以上3個(gè)庫(kù),如果沒有安裝這3個(gè)庫(kù),則需要先安裝。

2.下載解壓

將安裝包下載到指定目錄下并解壓。

3.配置

使用configure命令進(jìn)行配置。它定義了系統(tǒng)的各個(gè)方面配置,包括Nginx允許用于連接處理的方法,并且最終創(chuàng)建了一個(gè)Makefile文件。

其中“./configure-help”命令能列出大部分常用模塊和編譯選項(xiàng),其中部分內(nèi)容如圖1-4所示。

圖1-4

其中以-without開頭的選項(xiàng)都是默認(rèn)安裝的,以PATH結(jié)尾的選項(xiàng)需要手動(dòng)指定依賴庫(kù)源碼目錄。

(1)配置選項(xiàng)說明。

下面具體介紹一些常見的配置選項(xiàng)。

·--prefix=PATH:設(shè)置Nginx的安裝目錄,默認(rèn)為/usr/local/nginx。

·--sbin-path=PATH:設(shè)置Nginx可執(zhí)行文件的名稱,默認(rèn)為prefix/sbin/nginx。

·--conf-path=PATH:設(shè)置nginx.conf配置文件的名稱。Nginx允許使用不同的配置文件啟動(dòng)服務(wù),通過在命令行參數(shù)中指定要使用的配置文件,默認(rèn)為prefix/conf/nginx.conf。

·--pid-path=PATH:設(shè)置存儲(chǔ)主進(jìn)程ID的文件,默認(rèn)為prefix/logs/nginx.pid。安裝后也可在nginx.conf中使用pid命令更改。

·--error-log-path=PATH:設(shè)置主要錯(cuò)誤、警告和診斷文件。安裝后,可以使用error_log命令在nginx.conf配置文件中更改文件名,默認(rèn)為prefix/logs/error.log。

·--http-log-path=PATH:設(shè)置 HTTP 服務(wù)器的主要請(qǐng)求日志文件。安裝之后,可以使用access_log命令在nginx.conf配置文件中更改文件名,默認(rèn)為prefix/logs/access.log。

·--with-http_ssl_module:可以構(gòu)建一個(gè)將HTTPS協(xié)議支持添加到HTTP 服務(wù)器中的模塊。該模塊不是默認(rèn)生成的。openssl庫(kù)需要構(gòu)建和運(yùn)行這個(gè)模塊。

·--with-pcre=PATH:將路徑設(shè)置為pcre庫(kù)的來源。

·--with-zlib=PATH:將路徑設(shè)置為zlib庫(kù)的來源。

更為詳細(xì)的配置選項(xiàng)說明請(qǐng)參考Nginx官網(wǎng)中的文檔。

(2)配置命令。

這里都是選擇默認(rèn)配置,Nginx將默認(rèn)被安裝到/usr/local/nginx目錄下。執(zhí)行命令后部分結(jié)果如圖1-5所示。

圖1-5

4.編譯安裝

5.驗(yàn)證是否安裝成功

可以通過查看Nginx的版本信息來驗(yàn)證其是否安裝成功。

如果安裝成功,則會(huì)顯示Nginx的版本信息,如圖1-6所示。

圖1-6

6.修改配置文件

在安裝Nginx的配置文件“nginx.conf”時(shí),如果沒有指定路徑,則默認(rèn)放在/usr/local/nginx/conf目錄下,1.5節(jié)會(huì)專門介紹nginx.conf文件中的相關(guān)配置。

7.驗(yàn)證配置文件的正確性

如果修改了配置文件,則在啟動(dòng)Nginx之前,最好先檢查一下配置文件是否正確,以免在重啟Nginx之后出現(xiàn)錯(cuò)誤,影響服務(wù)器的穩(wěn)定運(yùn)行,具體執(zhí)行命令如下:

如果配置文件被正確執(zhí)行,則結(jié)果如圖1-7所示。

圖1-7

1.3.3 配置防火墻

安裝好Nginx之后,需要配置防火墻,開啟80端口。如果不開啟80端口,則防火墻會(huì)阻止外網(wǎng)訪問80端口,從而我們就無法訪問Nginx的配置網(wǎng)站。

1.防火墻相關(guān)操作

下面介紹幾個(gè)與防火墻相關(guān)的命令:

2.配置防火墻

修改防火墻配置:vi/etc/sysconfig/iptables。

添加配置項(xiàng):A INPUT-m state-state NEW-m tcp-p tcp-dport 80-j ACCEPT。

重啟防火墻:service iptables restart。

3.啟動(dòng)Nginx服務(wù)

4.查看Nginx進(jìn)程信息

啟動(dòng)Nginx之后,便可以使用以下命令查看Nginx進(jìn)程信息。

命令運(yùn)行結(jié)果如圖1-8所示。

圖1-8

其中,master process對(duì)應(yīng)的是主進(jìn)程,3182是主進(jìn)程號(hào),worker process是工作進(jìn)程。

Nginx有一個(gè)主進(jìn)程和多個(gè)工作進(jìn)程。主進(jìn)程主要用于讀取和評(píng)估配置,并維護(hù)工作進(jìn)程。工作進(jìn)程是對(duì)請(qǐng)求進(jìn)行實(shí)際處理。Nginx使用基于事件的模型和依賴操作系統(tǒng)的機(jī)制來高效地在工作進(jìn)程之間分配請(qǐng)求。工作進(jìn)程的數(shù)量在配置文件中定義。

5.測(cè)試

(1)測(cè)試80端口。

執(zhí)行結(jié)果如圖1-9所示。

圖1-9

(2)瀏覽器訪問測(cè)試。

用瀏覽器訪問地址:http://ip:80,其中“ip”是Nginx服務(wù)器的IP地址。訪問結(jié)果如圖1-10所示。

圖1-10

6.關(guān)閉Nginx服務(wù)

停止進(jìn)程:kill-QUIT 主進(jìn)程號(hào)。

快速停止:kill-TERM 主進(jìn)程號(hào)。

強(qiáng)制停止:pkill-9 nginx。

1.3.4 加入自啟動(dòng)和系統(tǒng)服務(wù)

雖然可以用命令行對(duì)Nginx進(jìn)行開啟、關(guān)閉等各種操作,但畢竟不是很方便。可以配置Nginx到系統(tǒng)服務(wù)器中,從而可以通過service命令來啟動(dòng)和關(guān)閉服務(wù)。也可以將Nginx設(shè)為開機(jī)自啟動(dòng),那么,在每次重啟服務(wù)器之后就不用手動(dòng)開啟Nginx服務(wù)了,非常方便。

1.創(chuàng)建腳本文件

在/etc/init.d目錄下創(chuàng)建一個(gè)名為“nginx”的腳本文件,文件內(nèi)容如下:

要根據(jù)實(shí)際安裝路徑,修改腳本中的以下兩個(gè)配置選項(xiàng):

將nginx="/usr/local/nginx/sbin/nginx"修改成Nginx執(zhí)行程序的路徑。

將NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"修改成配置文件的路徑。

2.設(shè)置執(zhí)行權(quán)限

要給腳本添加執(zhí)行權(quán)限,不然執(zhí)行的時(shí)候會(huì)報(bào)錯(cuò):permission denied。

3.執(zhí)行

4.加入開機(jī)自啟動(dòng)

1.3.5 加入系統(tǒng)變量

在前面的內(nèi)容中介紹了一些Nginx的操作命令,比如,要查看Nginx的版本信息,我們通??梢赃@樣:

使用這種方式,使得我們每次要執(zhí)行相關(guān)命令時(shí),都要輸入很長(zhǎng)的Nginx執(zhí)行文件路徑或者要先進(jìn)入指定目錄中才行,這確實(shí)有點(diǎn)兒麻煩。所以,我們可以將Nginx的路徑配置到系統(tǒng)變量中。

1.修改/etc/profile文件

2.添加PATH

在profile文件中添加Nginx執(zhí)行文件的路徑,如圖1-11所示。

圖1-11

3.使之立即生效

編輯/etc/profile文件后,對(duì)于PATH的修改不會(huì)立馬生效,如果要立即生效,則執(zhí)行以下命令:

4.執(zhí)行Nginx命令

在環(huán)境變量生效之后,就可以直接用“nginx”來執(zhí)行相關(guān)命令。比如,之前查看Nginx版本信息的命令,就可以直接執(zhí)行:

主站蜘蛛池模板: 前郭尔| 乐亭县| 聊城市| 晋宁县| 长沙县| 顺昌县| 新平| 五寨县| 鹤岗市| 兴国县| 宁都县| 甘孜县| 柳州市| 精河县| 赞皇县| 崇礼县| 富宁县| 新野县| 新泰市| 二连浩特市| 太和县| 开鲁县| 临清市| 临西县| 元阳县| 通州区| 兴业县| 阿拉善盟| 新晃| 栖霞市| 嫩江县| 奉节县| 土默特左旗| 垦利县| 东乌珠穆沁旗| 锡林浩特市| 邵阳市| 皋兰县| 绥宁县| 图木舒克市| 广德县|