更新時(shí)間:2021-07-16 來源:黑馬程序員 瀏覽量:
本文將介紹Nginx安裝方式,通過Nginx源碼簡單安裝,通過Nginx源碼復(fù)雜安裝 ,通過yum安裝。
如果通過Nginx源碼安裝需要提前準(zhǔn)備的內(nèi)容:
GCC編譯器
Nginx是使用C語言編寫的程序,因此想要運(yùn)行Nginx就需要安裝一個(gè)編譯工具。GCC就是一個(gè)開源的編譯器集合,用于處理各種各樣的語言,其中就包含了C語言。
使用命令yum install -y gcc來安裝
安裝成功后,可以通過gcc --version來查看gcc是否安裝成功
PCRE
Nginx在編譯過程中需要使用到PCRE庫(perl Compatible Regular Expressoin 兼容正則表達(dá)式庫),因?yàn)樵贜ginx的Rewrite模塊和http核心模塊都會(huì)使用到PCRE正則表達(dá)式語法。
zlib
zlib庫提供了開發(fā)人員的壓縮算法,在Nginx的各個(gè)模塊中需要使用gzip壓縮,所以我們也需要提前安裝其庫及源代碼zlib和zlib-devel
可以使用命令yum install -y zlib zlib-devel來進(jìn)行安裝
安裝成功后,可以通過rpm -qa zlib zlib-devel來查看是否安裝成功
OpenSSL
OpenSSL是一個(gè)開放源代碼的軟件庫包,應(yīng)用程序可以使用這個(gè)包進(jìn)行安全通信,并且避免被竊聽。
SSL:Secure Sockets Layer安全套接協(xié)議的縮寫,可以在Internet上提供秘密性傳輸,其目標(biāo)是保證兩個(gè)應(yīng)用間通信的保密性和可靠性。在Nginx中,如果服務(wù)器需要提供安全網(wǎng)頁時(shí)就需要用到OpenSSL庫,所以我們需要對(duì)OpenSSL的庫文件及它的開發(fā)安裝包進(jìn)行一個(gè)安裝。
可以使用命令yum install -y openssl openssl-devel來進(jìn)行安裝
安裝成功后,可以通過rpm -qa openssl openssl-devel來查看是否安裝成功
上述命令,一個(gè)個(gè)來的話比較麻煩,我們也可以通過一條命令來進(jìn)行安裝
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel進(jì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
使用源碼進(jìn)行簡單安裝,我們會(huì)發(fā)現(xiàn)安裝的過程比較繁瑣,需要提前準(zhǔn)備GCC編譯器、PCRE兼容正則表達(dá)式庫、zlib壓縮庫、OpenSSL安全通信的軟件庫包,然后才能進(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
(6)啟動(dòng)測(cè)試
源碼簡單安裝和yum安裝的差異:
這里先介紹一個(gè)命令: ./nginx -V ,通過該命令可以查看到所安裝Nginx的版本及相關(guān)配置信息。
簡單安裝
yum安裝
解壓Nginx目錄
執(zhí)行tar -zxvf nginx-1.16.1.tar.gz對(duì)下載的資源進(jìn)行解壓縮,進(jìn)入壓縮后的目錄,可以看到如下結(jié)構(gòu)
內(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頁面,訪問Nginx的首頁和錯(cuò)誤頁面
LICENSE:許可證的相關(guān)描述文件
man:nginx的man手冊(cè)
README:Nginx的閱讀指南
src:Nginx的源代碼
這種方式和簡單的安裝配置不同的地方在第一步,通過./configure來對(duì)編譯參數(shù)進(jìn)行設(shè)置,需要我們手動(dòng)來指定。那么都有哪些參數(shù)可以進(jìn)行設(shè)置,接下來我們進(jìn)行一個(gè)詳細(xì)的說明。
PATH:是和路徑相關(guān)的配置信息
with:是啟動(dòng)模塊,默認(rèn)是關(guān)閉的
without:是關(guān)閉模塊,默認(rèn)是開啟的
我們先來認(rèn)識(shí)一些簡單的路徑配置已經(jīng)通過這些配置來完成一個(gè)簡單的編譯:
--prefix=PATH
指向Nginx的安裝目錄,默認(rèn)值為/usr/local/nginx
--sbin-path=PATH
指向(執(zhí)行)程序文件(nginx)的路徑,默認(rèn)值為
--modules-path=PATH
指向Nginx動(dòng)態(tài)模塊安裝目錄,默認(rèn)值為
--conf-path=PATH
指向配置文件(nginx.conf)的路徑,默認(rèn)值為
--error-log-path=PATH
指向錯(cuò)誤日志文件的路徑,默認(rèn)值為
--http-log-path=PATH
指向訪問日志文件的路徑,默認(rèn)值為
--pid-path=PATH
指向Nginx啟動(dòng)后進(jìn)行ID的文件路徑,默認(rèn)值為
--lock-path=PATH
指向Nginx鎖文件的存放路徑,默認(rèn)值為
要想使用可以通過如下命令
./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
將本頁面鏈接http://m.pantone-color.com.cn/news/20210716/143458.html發(fā)送給QQ:2217622915,免費(fèi)獲取上面課程全套視頻、筆記和源碼。
猜你喜歡: