如何在CentOS 8上安裝和配置Nginx?


Nginx是一款流行的Web伺服器,以其效能、可靠性和易用性而聞名。它廣泛用於託管網站、充當反向代理、負載均衡器和快取伺服器。本文將討論如何在CentOS 8上安裝和配置Nginx。

在開始之前,請確保您具有CentOS 8伺服器的root訪問許可權。此外,您應該具備基本的Linux命令列知識,並能夠熟練使用基於終端的應用程式。

步驟1:更新系統

第一步是確保您的CentOS 8系統是最新的。您可以透過執行以下命令來實現:

sudo dnf update

這將下載並安裝系統的所有可用更新。

步驟2:安裝Nginx

系統更新後,您可以透過執行以下命令安裝Nginx:

sudo dnf install nginx

這將下載並安裝Nginx及其所有依賴項。

步驟3:配置防火牆

預設情況下,CentOS 8預裝了firewalld防火牆。您需要允許HTTP和HTTPS流量訪問Web伺服器。執行以下命令開啟所需的埠:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

步驟4:啟動和啟用Nginx

安裝Nginx後,您可以透過執行以下命令啟動它:

sudo systemctl start nginx

為了確保Nginx在系統啟動時自動啟動,請執行以下命令:

sudo systemctl enable nginx

您可以透過執行以下命令檢查Nginx的狀態:

sudo systemctl status nginx

如果一切正常,您應該會看到類似於以下的輸出:

nginx.service - nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-04-24 15:37:24 UTC; 5s ago
   Process: 18625 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
   Main PID: 18626 (nginx)
   Tasks: 2 (limit: 11524)
   Memory: 4.9M
   CGroup: /system.slice/nginx.service
           ├─18626 nginx: master process /usr/sbin/nginx
           └─18627 nginx: worker process

步驟5:配置Nginx

Nginx的主配置檔案位於/etc/nginx/nginx.conf。您可以使用您喜歡的文字編輯器開啟此檔案。在對檔案進行任何更改之前,請透過執行以下命令備份原始檔案:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

現在,開啟nginx.conf檔案:

sudo nano /etc/nginx/nginx.conf

在http塊內,您可以新增或修改server塊來配置您的虛擬主機。例如,如果您想為example.com建立一個新的虛擬主機,您可以新增以下server塊:

server {
   listen 80;
   server_name example.com www.example.com;
   root /var/www/example.com;
   index index.html;
   location / {
      try_files $uri $uri/ =404;
   }
}

此server塊偵聽埠80,用於example.com和`www.example.com的請求。它將文件根目錄設定為/var/www/example.com,並將index.html指定為預設索引檔案。location`塊指定如何處理此虛擬主機下URL的請求。

完成配置檔案更改後,儲存並退出文字編輯器。

步驟6:測試Nginx配置

在重新啟動Nginx之前,最好先測試配置以確保沒有語法錯誤。您可以透過執行以下命令來實現:

sudo nginx -t

如果存在任何錯誤,Nginx將顯示錯誤訊息以及發生錯誤的行號。如果沒有錯誤,Nginx將顯示一條訊息,指示配置檔案正常。

步驟7:重新啟動Nginx

對配置檔案進行任何更改後,您需要重新啟動Nginx才能使更改生效。您可以透過執行以下命令來實現:

sudo systemctl restart nginx

步驟8:驗證Nginx安裝

要驗證Nginx是否正確地提供服務請求,您可以開啟Web瀏覽器並在位址列中輸入伺服器的IP地址或域名。您應該會看到預設的Nginx歡迎頁面。

如果您想驗證您的虛擬主機是否正常工作,您可以為每個虛擬主機在其文件根目錄中建立一個簡單的index.html檔案,然後在您的Web瀏覽器中訪問虛擬主機的域名或IP地址。如果一切正常,您應該會看到index.html檔案的內容。

Nginx最重要的功能之一是其充當反向代理的能力。這允許您將請求轉發到多個後端伺服器,在多個伺服器之間平均分配流量,並執行負載均衡。您還可以使用Nginx作為快取伺服器,透過快取頻繁訪問的內容來提高Web應用程式的效能。

Nginx的另一個強大功能是其處理SSL/TLS加密的能力。您可以透過獲取和安裝SSL/TLS證書來配置Nginx以提供HTTPS流量。這確保了Web伺服器和使用者之間所有流量的加密,提供了額外的安全層。

如果您想進一步最佳化Nginx安裝的效能,您可以啟用gzip壓縮以減小傳輸資料的尺寸,設定瀏覽器快取以減輕伺服器負載,並使用gzip_static模組來提供預壓縮的檔案,以實現更快的交付。

還有許多可用於Nginx的第三方模組和外掛可以擴充套件其功能。這些包括用於Web應用程式防火牆、內容過濾和身份驗證的模組。

除了其Web伺服器功能外,Nginx還可以用作流媒體伺服器,透過HTTP提供影片和音訊內容。這使其成為託管直播活動、提供點播影片內容和提供音訊檔案的絕佳選擇。

配置Nginx的另一個重要方面是安全性。預設情況下,Nginx是一個安全的Web伺服器,但是仍然有一些額外的措施可以提高其安全性。其中最重要的一項是配置訪問控制,以限制對伺服器的訪問並防止未經授權的訪問。

您可以使用Nginx內建的身份驗證和授權機制來配置訪問控制,也可以使用ModSecurity和Naxsi等第三方模組來提供額外的安全功能,例如Web應用程式防火牆和內容過濾。

另一個重要的安全措施是使您的Nginx安裝保持最新,並安裝最新的安全補丁和更新。您應該定期檢查更新並在可用後立即安裝它們,以確保您的伺服器免受最新的安全威脅。

最後,您還應該考慮使用內容分發網路 (CDN) 來進一步提高Nginx安裝的效能和安全性。CDN可以將您的內容分發到位於世界各地的伺服器,從而減輕Web伺服器的負載,並提高網站的速度和可靠性。許多CDN提供商還提供額外的安全功能,例如DDoS保護和Web應用程式防火牆。

結論

在本文中,我們討論瞭如何在CentOS 8上安裝和配置Nginx。我們介紹了安裝過程、防火牆配置、啟動和啟用Nginx、配置Nginx、測試配置和驗證安裝。透過遵循這些步驟,您應該能夠輕鬆地在CentOS 8伺服器上設定Nginx並提供您的Web應用程式。

更新於:2023年5月12日

2K+ 閱讀量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告