- 直播系統(tǒng)開發(fā):基于Nginx與Nginx-rtmp-module
- 卓朗科技技術(shù)團(tuán)隊(duì)編著
- 2051字
- 2019-07-26 18:25:29
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í)行:

- pcDuino開發(fā)實(shí)戰(zhàn)
- Windows Server 2019 Cookbook
- UNIX操作系統(tǒng)設(shè)計(jì)
- 白話區(qū)塊鏈
- 嵌入式Linux驅(qū)動(dòng)程序和系統(tǒng)開發(fā)實(shí)例精講
- 深入淺出Node.js
- Windows 7實(shí)戰(zhàn)從入門到精通
- Windows 7使用詳解(修訂版)
- Hadoop Real-World Solutions Cookbook
- OpenStack Essentials(Second Edition)
- 大規(guī)模Linux集群架構(gòu)最佳實(shí)踐:如何管理上千臺(tái)服務(wù)器
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)(Windows 7+Office 2010)
- Getting Started with Citrix XenApp 6.5
- Linux從入門到精通
- Instant Getting Started with VMware Fusion