如何在 Ubuntu 21.04 服務器上安裝 Nginx

Nginx 是最強大的、開源的、高性能的 Web 服務器。它可以用作反向代理服務器,如今,互聯網上大多數最重要的網站都在使用它。

人們為 Nginx 發音為“engine x”;它是每個網站所有者使用 Nginx 為其網站提供支持的熱門選擇。

與 Apache Web 服務器相比,Nginx 能夠處理更多的連接,並且每個連接只佔用少量內存。

先決條件

確保您的 Linux 機器沒有 Apache HTTP 服務器或任何在端口 80 和 443 上運行的應用程序服務。您應該具有在 Linux 機器上執行命令的 sudo 權限

apt安裝 Nginx

如今,Nginx 軟件包內置了 Ubuntu 默認軟件庫,因此安裝不費吹灰之力,您只需在終端中運行以下命令:

# sudo apt update
# sudo apt install nginx

安裝 Nginx 後,您可以使用以下命令檢查 Nginx 服務的狀態:

# sudo systemctl status nginx

上述命令的輸出應顯示 Nginx 服務正在運行:

nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-22-06 15:44:04 UTC; 1min 59s ago
 Main PID: 1461 (nginx)
   CGroup: /system.slice/nginx.service
           ├─1461 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           └─1463 nginx: worker process

您還可以使用以下命令檢查 Nginx Web 服務器的版本:

# sudo nginx -v
nginx version: nginx/1.14.0 (Ubuntu)

防火牆配置

今天,我們都在使用 UFW 防火牆來管理 Ubuntu 機器上的網絡連接和流量。要使用 Nginx,您需要打開 HTTP 端口 (80) 和 HTTPS 端口 (443)

您可以通過在 UFW 上啟用“Nginx Full”配置文件來打開 HTTP 和 HTTPS 端口:

# sudo ufw allow 'Nginx Full'

您可以使用以下命令驗證防火牆配置:

# sudo ufw status

上述命令的輸出如下所示:

Status: active
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

Nginx 安裝測試

您可以通過使用您的 IP ( http://your-IP )在瀏覽器中打開來驗證已安裝的 Nginx 是否按預期工作。您將獲得帶有默認 Nginx 歡迎頁面的瀏覽器屏幕,如下所示:

使用 Nginx PPA 存儲庫安裝 Nginx

Ubuntu 默認軟件存儲庫不定期更新軟件包,因此它經常過時。要安裝 Nginx 的最新版本,請使用 Nginx 的官方 PPA 存儲庫。

要在 Ubuntu 21.04 中使用 PPA 存儲庫安裝 Nginx,請按照以下步驟操作:

01.在Ubuntu系統中安裝“software-properties-common”
# sudo apt install software-properties-common

02.使用以下命令添加Nginx的PPA存儲庫

# sudo add-apt-repository ppa:nginx/stable

03.使用列表更新包管理器並使用以下命令安裝Nginx:

# sudo apt update
# sudo apt install nginx

04、Nginx安裝完成後,查看安裝的Nginx版本

# sudo nginx -v
nginx version: nginx/1.17.0

使用 systemctl 管理 Nginx 服務

您可以使用用於管理其他系統服務的類似命令來管理 Nginx 服務。

啟動 Nginx 服務:

# sudo systemctl start nginx

停止 Nginx 服務:

# sudo systemctl stop nginx

重啟 Nginx 服務:

# sudo systemctl restart nginx

重新加載 Nginx 服務:

# sudo systemctl reload nginx

啟用 Nginx 服務以在啟動時啟動:

# sudo systemctl enable nginx

禁用 Nginx 服務以在啟動時不啟動:

# sudo systemctl disable nginx

Ubuntu 上 Nginx 配置文件的結構

Nginx 配置文件將始終保留在“/etc/nginx/”目錄中。

Nginx 的主要設置文件位於“/etc/nginx/nginx.conf”。

通過為每個站點配置單獨的文件來保持 Nginx 配置很簡單。您可以使用帶有服務器塊的配置文件保留盡可能多的內容。

Nginx 服務器塊文件或站點配置文件存儲在“/etc/nginx/sites-available/”目錄中。要在 Nginx 上使用這些文件,請鏈接“/etc/nginx/sites-enable/”目錄中的文件。

要激活任何新的站點配置,我們需要在“sites-available”目錄中創建站點配置文件到“sites-enabled”目錄的符號鏈接。

要識別站點的配置,請遵循服務器塊文件的標準命名轉換。例如,您有一個站點 testweb.com。最好創建一個文件“/etc/nginx/sites-available/testweb.com.conf”,以便在 Nginx Web 服務器中配置多個站點時快速識別。

用於排除故障或調試錯誤的最重要文件稱為日誌文件。在“/var/log/nginx”目錄中生成的 Nginx 日誌文件(access.log 和 error.log)。如果每個服務器塊都有不同的訪問和錯誤日誌文件,這對於調試很有用。

配置域文檔根目錄沒有限制,你可以設置任何你想要的位置。但最推薦的 web 根目錄位置是

  • /home/<用戶>/<站點名稱>
  • /var/www/<站點名稱>
  • /var/www/html/<站點名稱>
  • /opt/<站點名稱>

結論

恭喜;現在您已經在 Ubuntu 21.04 服務器上安裝了 Nginx Web 服務器。現在,您已準備好使用 Nginx 作為 Web 服務器或反向代理服務器來部署和運行您的應用程序。