Linux 系統安裝nginx 詳解

Nginx在個人的使用之後,感覺非常的方便,所以在這裏給出自己安裝配置方案。它是一款高性能的 Web和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。

一、 下載

Nginx包下載
下載nginx 1.16.1 版本

 https://nginx.org/download/nginx-1.16.1.tar.gz
二、 安裝
  1. 卸載nginx

爲防止以前安裝殘留首先使用yum 卸載nginx

yum remove nginx
  1. 安裝依賴庫

先安裝PCRE pcre-devel 和Zlib庫,配置nginx的時候會用到這兩。
(PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。)

yum install -y pcre pcre-devel

在這裏插入圖片描述
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。

yum install -y zlib zlib-devel

在這裏插入圖片描述

安裝 GCC 和 OpenSSL 以提供命令
(OpenSSL是一個開放源代碼的軟件庫包,應用程序可以使用這個包來進行安全通信,避免竊聽,同時確認另一端連接者的身份。這個包廣泛被應用在互聯網的網頁服務器上。GCC 是由GNU開發的編程語言譯器。包括了很多語言的庫)

yum install gcc-c++
yum install -y openssl openssl-devel

在這裏插入圖片描述
3. 安裝nginx 1.16

將剛纔下載好的nginx 解壓,並進入nginx目錄

tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0

使用nginx的默認配置

[root@localhost nginx-1.16.1]# ./configure[root@localhost nginx-1.16.1]#./configure --with-pcre=../pcre-8.43 --with-zlib=../zlib-1.2.9 --with-openssl=../openssl-fips-2.0.16

編譯並安裝

[root@localhost nginx-1.16.1]# make
[root@localhost nginx-1.16.1]# make install

查找安裝路徑:

[root@localhost nginx-1.16.1]# whereis nginx

在這裏插入圖片描述
4. 檢測是否安裝成功
進入sbin目錄,可以看到有一個可執行文件nginx,直接./執行就OK了。

[root@localhost nginx-1.16.1]# cd  /usr/local/nginx/sbin

查看nginx信息

[root@localhost sbin]# ./nginx -t

在這裏插入圖片描述
啓動nginx

[root@localhost sbin]# ./nginx

運行起來之後訪問服務器ip,可以看到nginx的歡迎頁面
在這裏插入圖片描述

安裝好啓動好後無法訪問到頁面,查看是否安裝好

ps -ef|grep nginx

在這裏插入圖片描述
如果如上圖有nginx的進程說明啓動好了這個時候如果無法訪問nginx頁面可以先查看一下你服務器的安全組策略是否有啓用80端口
我的服務器是firewall防火牆,所以查看80端口使用情況。

firewall-cmd --query-port=80/tcp 

在這裏插入圖片描述
如果啓用之後還是無法訪問需要查看nginx的配置文件nginx.conf
上面使用[root@localhost sbin]# ./nginx -t命令查看過nginx信息,找到返回信息給的目錄,在 /usr/local/nginx/conf 下。
在這裏插入圖片描述
把這個路徑改爲你的文件存放路徑。
ok!這樣就應該沒有問題了。
如果需要再配置其它服務器或者端口,再在nginx.conf配置文件多加幾個server{ ********* }監聽端口,來代理轉發請求。

三、基本命令
啓動
nginx安裝目錄地址 -c nginx配置文件地址

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

停止
查看端口,殺死進程。

ps -ef|grep nginx
  1. 從容停止
kill -QUIT 3905
  1. 快速停止
kill -TERM 3905

kill -INT 3905
  1. 強制停止
pkill -9 nginx

重啓
方法一:進入nginx可執行目錄sbin下,輸入命令
./nginx -s reload
即可

方法二:查找當前nginx進程號,然後輸入命令:kill -HUP進程號 實現重啓

ps -ef | grep nginx
kill -HUP 3905

2020-06-24 更新 bug 以及 解決方案
bug 1:

nginx: [emerg] unknown log format "main" in /usr/local/nginx-1.5/conf/nginx.conf:***
nginx: [emerg] unknown log format "main" in /usr/local/nginx/conf/nginx.conf:107

同一類的錯誤,是由於 nginx.conf 中 log_format 前面的註釋符號 # 引起的,將註釋打開,問題解決。
在這裏插入圖片描述
bug 2:
如果出現類似以下問題:

nginx: [emerg] invalid URL prefix in /usr/local/nginx/conf/nginx.conf:119

一定是在配置域名的時候,URL地址前綴不正確。仔細檢查一下,是否忘記寫http / https 或者 : 或者 // 諸如此類。

覺得有用的話記得點贊加關注,有什麼問題歡迎評論,我們一起探討,共同進步。歡迎大家關注我的個人公衆號

在這裏插入圖片描述
讚賞也是對我最大的支持。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章