首頁(yè)技術(shù)文章正文

centos源碼安裝nginx詳細(xì)教程

更新時(shí)間:2021-07-16 來(lái)源:黑馬程序員 瀏覽量:

本文將介紹Nginx安裝方式,通過Nginx源碼簡(jiǎn)單安裝,通過Nginx源碼復(fù)雜安裝 ,通過yum安裝。

如果通過Nginx源碼安裝需要提前準(zhǔn)備的內(nèi)容:

GCC編譯器

Nginx是使用C語(yǔ)言編寫的程序,因此想要運(yùn)行Nginx就需要安裝一個(gè)編譯工具。GCC就是一個(gè)開源的編譯器集合,用于處理各種各樣的語(yǔ)言,其中就包含了C語(yǔ)言。

使用命令yum install -y gcc來(lái)安裝

安裝成功后,可以通過gcc --version來(lái)查看gcc是否安裝成功

PCRE

Nginx在編譯過程中需要使用到PCRE庫(kù)(perl Compatible Regular Expressoin 兼容正則表達(dá)式庫(kù)),因?yàn)樵贜ginx的Rewrite模塊和http核心模塊都會(huì)使用到PCRE正則表達(dá)式語(yǔ)法。

zlib

zlib庫(kù)提供了開發(fā)人員的壓縮算法,在Nginx的各個(gè)模塊中需要使用gzip壓縮,所以我們也需要提前安裝其庫(kù)及源代碼zlib和zlib-devel

可以使用命令yum install -y zlib zlib-devel來(lái)進(jìn)行安裝

安裝成功后,可以通過rpm -qa zlib zlib-devel來(lái)查看是否安裝成功

OpenSSL

OpenSSL是一個(gè)開放源代碼的軟件庫(kù)包,應(yīng)用程序可以使用這個(gè)包進(jìn)行安全通信,并且避免被竊聽。

SSL:Secure Sockets Layer安全套接協(xié)議的縮寫,可以在Internet上提供秘密性傳輸,其目標(biāo)是保證兩個(gè)應(yīng)用間通信的保密性和可靠性。在Nginx中,如果服務(wù)器需要提供安全網(wǎng)頁(yè)時(shí)就需要用到OpenSSL庫(kù),所以我們需要對(duì)OpenSSL的庫(kù)文件及它的開發(fā)安裝包進(jìn)行一個(gè)安裝。

可以使用命令yum install -y openssl openssl-devel來(lái)進(jìn)行安裝

安裝成功后,可以通過rpm -qa openssl openssl-devel來(lái)查看是否安裝成功

上述命令,一個(gè)個(gè)來(lái)的話比較麻煩,我們也可以通過一條命令來(lái)進(jìn)行安裝

yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel進(jìn)行全部安裝。

Nginx安裝方案一:Nginx的源碼簡(jiǎn)單安裝

(1)進(jìn)入官網(wǎng)查找需要下載版本的鏈接地址,然后使用wget命令進(jìn)行下載

wget http://nginx.org/download/nginx-1.16.1.tar.gz

(2)建議大家將下載的資源進(jìn)行包管理

mkdir -p nginx/core
mv nginx-1.16.1.tar.gz nginx/core

(3)解壓縮

tar -xzf nginx-1.16.1.tar.gz

(4)進(jìn)入資源文件中,發(fā)現(xiàn)configure

./configure

(5)編譯

make

(6)安裝

make install

Nginx安裝方案二:yum安裝

使用源碼進(jìn)行簡(jiǎn)單安裝,我們會(huì)發(fā)現(xiàn)安裝的過程比較繁瑣,需要提前準(zhǔn)備GCC編譯器、PCRE兼容正則表達(dá)式庫(kù)、zlib壓縮庫(kù)、OpenSSL安全通信的軟件庫(kù)包,然后才能進(jìn)行Nginx的安裝。

(1)安裝yum-utils

sudo yum  install -y yum-utils

(2)添加yum源文件

vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

(3)查看是否安裝成功

yum list | grep nginx

查看是否安裝成功

(4)使用yum進(jìn)行安裝

yun install -y nginx

(5)查看nginx的安裝位置

whereis nginx

Nginx安裝位置

(6)啟動(dòng)測(cè)試

源碼簡(jiǎn)單安裝和yum安裝的差異:

這里先介紹一個(gè)命令: ./nginx -V ,通過該命令可以查看到所安裝Nginx的版本及相關(guān)配置信息。

簡(jiǎn)單安裝

簡(jiǎn)易安裝

yum安裝

解壓Nginx目錄

執(zhí)行tar -zxvf nginx-1.16.1.tar.gz對(duì)下載的資源進(jìn)行解壓縮,進(jìn)入壓縮后的目錄,可以看到如下結(jié)構(gòu)

nginx目錄

內(nèi)容解釋:

auto:存放的是編譯相關(guān)的腳本

CHANGES:版本變更記錄

CHANGES.ru:俄羅斯文的版本變更記錄

conf:nginx默認(rèn)的配置文件confifigure:nginx軟件的自動(dòng)腳本程序,是一個(gè)比較重要的文件,作用如下:

(1)檢測(cè)環(huán)境及根據(jù)環(huán)境檢測(cè)結(jié)果生成C代碼

(2)生成編譯代碼需要的Makefifile文件

contrib:存放的是幾個(gè)特殊的腳本文件,其中README中對(duì)腳本有著詳細(xì)的說明

html:存放的是Nginx自帶的兩個(gè)html頁(yè)面,訪問Nginx的首頁(yè)和錯(cuò)誤頁(yè)面

LICENSE:許可證的相關(guān)描述文件

man:nginx的man手冊(cè)

README:Nginx的閱讀指南

src:Nginx的源代碼

Nginx安裝方案三:Nginx的源碼復(fù)雜安裝

這種方式和簡(jiǎn)單的安裝配置不同的地方在第一步,通過./configure來(lái)對(duì)編譯參數(shù)進(jìn)行設(shè)置,需要我們手動(dòng)來(lái)指定。那么都有哪些參數(shù)可以進(jìn)行設(shè)置,接下來(lái)我們進(jìn)行一個(gè)詳細(xì)的說明。

PATH:是和路徑相關(guān)的配置信息

with:是啟動(dòng)模塊,默認(rèn)是關(guān)閉的

without:是關(guān)閉模塊,默認(rèn)是開啟的

我們先來(lái)認(rèn)識(shí)一些簡(jiǎn)單的路徑配置已經(jīng)通過這些配置來(lái)完成一個(gè)簡(jiǎn)單的編譯:

--prefix=PATH

指向Nginx的安裝目錄,默認(rèn)值為/usr/local/nginx

--sbin-path=PATH

指向(執(zhí)行)程序文件(nginx)的路徑,默認(rèn)值為 /sbin/nginx

--modules-path=PATH

指向Nginx動(dòng)態(tài)模塊安裝目錄,默認(rèn)值為 /modules

--conf-path=PATH

指向配置文件(nginx.conf)的路徑,默認(rèn)值為 /conf/nginx.conf

--error-log-path=PATH

指向錯(cuò)誤日志文件的路徑,默認(rèn)值為 /logs/error.log

--http-log-path=PATH

指向訪問日志文件的路徑,默認(rèn)值為 /logs/access.log

--pid-path=PATH

指向Nginx啟動(dòng)后進(jìn)行ID的文件路徑,默認(rèn)值為 /logs/nginx.pid

--lock-path=PATH

指向Nginx鎖文件的存放路徑,默認(rèn)值為 /logs/nginx.lock

要想使用可以通過如下命令

./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--modules-path=/usr/local/nginx/modules \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--lock-path=/usr/local/nginx/logs/nginx.lock

在使用上述命令之前,需要將之前服務(wù)器已經(jīng)安裝的nginx進(jìn)行卸載,卸載的步驟分為三步驟:

步驟一:需要將nginx的進(jìn)程關(guān)閉

./nginx -s stop

步驟二:將安裝的nginx進(jìn)行刪除

rm -rf /usr/local/nginx

步驟三:將安裝包之前編譯的環(huán)境清除掉

make clean

將本頁(yè)面鏈接http://409rqu1.cn/news/20210716/143458.html發(fā)送給QQ:2217622915,免費(fèi)獲取上面課程全套視頻、筆記和源碼。



猜你喜歡:

Nginx使用教程:Nginx從入門到精通

Java中final關(guān)鍵字如何使用?

Java中volatile關(guān)鍵字有什么作用?

JDBC詳細(xì)教程與jdbc連接數(shù)據(jù)庫(kù)方法

黑馬程序員java開發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!