Nginx是一個開源,高性能的HTTP和反向代理服務(wù)器,負(fù)責(zé)處理Internet上一些最大站點(diǎn)的負(fù)載。
它可以用作 HTTP 和非 HTTP 服務(wù)器的獨(dú)立 Web 服務(wù)器、負(fù)載均衡器、內(nèi)容緩存和反向代理。
與Apache相比,Nginx可以處理大量的并發(fā)連接,并且每個連接的內(nèi)存占用更小。
本教程解釋了如何在 CentOS 8 上安裝和管理 Nginx。
先決條件
在繼續(xù)之前,請確保您以具有 sudo 權(quán)限的用戶身份登錄,并且您沒有在端口 80 或 443 上運(yùn)行 Apache 或任何其他進(jìn)程。
在 CentOS 8 上安裝 Nginx
從 CentOS 8 開始,Nginx 軟件包在默認(rèn)的 CentOS 存儲庫中可用。
在 CentOS 8 上安裝 Nginx 就像打字一樣簡單:
sudo yum install nginx
安裝完成后,啟用并啟動 Nginx 服務(wù):
sudo systemctl enable nginx
sudo systemctl start nginx
要驗證服務(wù)是否正在運(yùn)行,請檢查其狀態(tài):
sudo systemctl status nginx
輸出應(yīng)如下所示:
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2019-10-06 18:35:55 UTC; 17min ago
...
調(diào)整防火墻
FirewallD?是 Centos 8 上的默認(rèn)防火墻解決方案。
在安裝過程中,Nginx會創(chuàng)建一個防火墻服務(wù)文件,其中包含允許訪問HTTP()和HTTPS()端口的預(yù)定義規(guī)則。80
443
使用以下命令永久打開必要的端口:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
現(xiàn)在,您可以通過在Web瀏覽器中打開來測試Nginx安裝。您應(yīng)該會看到默認(rèn)的 Nginx 歡迎頁面,如下圖所示:http://YOUR_IP
Nginx 配置文件的結(jié)構(gòu)和最佳實踐
- 所有 Nginx 配置文件都位于目錄中。
/etc/nginx/
- 主要的 Nginx 配置文件是 。
/etc/nginx/nginx.conf
- 為每個域創(chuàng)建單獨(dú)的配置文件使服務(wù)器更易于維護(hù)。
- Nginx 服務(wù)器塊文件必須以目錄結(jié)尾并存儲在目錄中。您可以根據(jù)需要擁有任意數(shù)量的服務(wù)器塊。
.conf
/etc/nginx/conf.d
- 遵循標(biāo)準(zhǔn)命名約定是一種很好的做法。例如,如果域名是,則應(yīng)命名配置文件
mydomain.com
mydomain.com.conf
- 如果在域服務(wù)器塊中使用可重復(fù)的配置段,最好將這些段重構(gòu)為代碼段。
- Nginx 日志文件(和)位于目錄中。建議為每個服務(wù)器塊使用不同的日志文件。
access.log
error.log
/var/log/nginx/
access
error
- 您可以將域文檔根目錄設(shè)置為所需的任何位置。網(wǎng)絡(luò)根目錄最常見的位置包括:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
/usr/share/nginx/html
結(jié)論
恭喜你,你已成功在 CentOS 8 伺服器上安裝 Nginx。您現(xiàn)在可以開始部署應(yīng)用程序并使用Nginx作為Web或代理服務(wù)器。