首頁技術文章正文

centos源碼安裝nginx詳細教程

更新時間:2021-07-16 來源:黑馬程序員 瀏覽量:

本文將介紹Nginx安裝方式,通過Nginx源碼簡單安裝,通過Nginx源碼復雜安裝 ,通過yum安裝。

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

GCC編譯器

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

使用命令yum install -y gcc來安裝

安裝成功后,可以通過gcc --version來查看gcc是否安裝成功

PCRE

Nginx在編譯過程中需要使用到PCRE庫(perl Compatible Regular Expressoin 兼容正則表達式庫),因為在Nginx的Rewrite模塊和http核心模塊都會使用到PCRE正則表達式語法。

zlib

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

可以使用命令yum install -y zlib zlib-devel來進行安裝

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

OpenSSL

OpenSSL是一個開放源代碼的軟件庫包,應用程序可以使用這個包進行安全通信,并且避免被竊聽。

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

可以使用命令yum install -y openssl openssl-devel來進行安裝

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

上述命令,一個個來的話比較麻煩,我們也可以通過一條命令來進行安裝

yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel進行全部安裝。

Nginx安裝方案一:Nginx的源碼簡單安裝

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

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

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

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

(3)解壓縮

tar -xzf nginx-1.16.1.tar.gz

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

./configure

(5)編譯

make

(6)安裝

make install

Nginx安裝方案二:yum安裝

使用源碼進行簡單安裝,我們會發(fā)現(xiàn)安裝的過程比較繁瑣,需要提前準備GCC編譯器、PCRE兼容正則表達式庫、zlib壓縮庫、OpenSSL安全通信的軟件庫包,然后才能進行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進行安裝

yun install -y nginx

(5)查看nginx的安裝位置

whereis nginx

Nginx安裝位置

(6)啟動測試

源碼簡單安裝和yum安裝的差異:

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

簡單安裝

簡易安裝

yum安裝

解壓Nginx目錄

執(zhí)行tar -zxvf nginx-1.16.1.tar.gz對下載的資源進行解壓縮,進入壓縮后的目錄,可以看到如下結構

nginx目錄

內(nèi)容解釋:

auto:存放的是編譯相關的腳本

CHANGES:版本變更記錄

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

conf:nginx默認的配置文件confifigure:nginx軟件的自動腳本程序,是一個比較重要的文件,作用如下:

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

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

contrib:存放的是幾個特殊的腳本文件,其中README中對腳本有著詳細的說明

html:存放的是Nginx自帶的兩個html頁面,訪問Nginx的首頁和錯誤頁面

LICENSE:許可證的相關描述文件

man:nginx的man手冊

README:Nginx的閱讀指南

src:Nginx的源代碼

Nginx安裝方案三:Nginx的源碼復雜安裝

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

PATH:是和路徑相關的配置信息

with:是啟動模塊,默認是關閉的

without:是關閉模塊,默認是開啟的

我們先來認識一些簡單的路徑配置已經(jīng)通過這些配置來完成一個簡單的編譯:

--prefix=PATH

指向Nginx的安裝目錄,默認值為/usr/local/nginx

--sbin-path=PATH

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

--modules-path=PATH

指向Nginx動態(tài)模塊安裝目錄,默認值為 /modules

--conf-path=PATH

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

--error-log-path=PATH

指向錯誤日志文件的路徑,默認值為 /logs/error.log

--http-log-path=PATH

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

--pid-path=PATH

指向Nginx啟動后進行ID的文件路徑,默認值為 /logs/nginx.pid

--lock-path=PATH

指向Nginx鎖文件的存放路徑,默認值為 /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

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

步驟一:需要將nginx的進程關閉

./nginx -s stop

步驟二:將安裝的nginx進行刪除

rm -rf /usr/local/nginx

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

make clean

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



猜你喜歡:

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

Java中final關鍵字如何使用?

Java中volatile關鍵字有什么作用?

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

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

分享到:
在線咨詢 我要報名
和我們在線交談!