Nginx在個人的使用之後,感覺非常的方便,所以在這裏給出自己安裝配置方案。它是一款高性能的 Web和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。
一、 下載
Nginx包下載
下載nginx 1.16.1 版本
https://nginx.org/download/nginx-1.16.1.tar.gz
二、 安裝
- 卸載nginx
爲防止以前安裝殘留首先使用yum 卸載nginx
yum remove nginx
- 安裝依賴庫
先安裝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
- 從容停止
kill -QUIT 3905
- 快速停止
kill -TERM 3905
或
kill -INT 3905
- 強制停止
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
或者 : 或者 //
諸如此類。
覺得有用的話記得點贊加關注,有什麼問題歡迎評論,我們一起探討,共同進步。歡迎大家關注我的個人公衆號
讚賞也是對我最大的支持。