如何在Ubuntu 16.04上安裝Nginx

Nginx發音為“ engine x”,是一種免費的,開源的,高性能HTTP和反向代理服務器,為Internet上一些最大的站點提供支持。

與Apache相比,Nginx可以處理大量並發連接,並且每個連接的內存佔用量較小。

在本教程中,我們將討論如何在Ubuntu 16.04系統上安裝和管理Nginx。

先決條件

在開始本教程之前,請確保您以具有sudo特權的用戶身份登錄,並且端口80或443上沒有運行Apache或任何其他服務。

安裝Nginx#

Nginx軟件包在Ubuntu默認軟件存儲庫中可用。 安裝非常簡單,只需運行以下命令:

sudo apt updatesudo apt install 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 2018-01-05 15:44:04 UTC; 1min 59s ago
 Main PID: 1291 (nginx)
   CGroup: /system.slice/nginx.service
           ├─1291 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           └─1293 nginx: worker process

要檢查Nginx版本,請執行以下操作:

sudo nginx -v
nginx version: nginx/1.10.3 (Ubuntu)

調整防火牆號

假設您正在使用 UFW 要管理防火牆,您需要打開HTTP(80)和HTTPS(443)端口。

為此,您可以啟用“ Nginx Full”配置文件,其中包括兩個端口的規則:

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是否按預期工作 http://YOUR_IP 在您選擇的瀏覽器中,您將看到默認的Nginx歡迎頁面,如下所示:

從Nginx PPA存儲庫安裝Nginx

Ubuntu存儲庫中的Nginx軟件包通常已過時。 要安裝最新的Nginx版本,請使用官方的Nginx PPA存儲庫。

請按照以下步驟在Ubuntu 16.04上安裝最新版本的Nginx:

  1. 首先安裝 software-properties-common 包:

    sudo apt install software-properties-common
  2. 使用以下命令添加Nginx PPA存儲庫:

    sudo add-apt-repository ppa:nginx/stable
  3. 更新軟件包列表並安裝Nginx:

    sudo apt updatesudo apt install nginx
  4. 安裝完成後,請使用以下命令檢查Nginx版本:

    sudo nginx -v

    輸出將如下所示:

    nginx version: nginx/1.12.2

使用systemctl#管理Nginx服務

您可以通過與其他任何systemd單元相同的方式來管理Nginx服務。

  • 要停止Nginx服務,請運行:

    sudo systemctl stop nginx
  • 要啟動Nginx服務,請輸入:

    sudo systemctl start nginx
  • 重新啟動Nginx服務:

    sudo systemctl restart nginx
  • 進行一些配置更改後,請重新加載Nginx服務:

    sudo systemctl reload nginx
  • 禁用Nginx服務以在啟動時啟動:

    sudo systemctl disable nginx
  • 重新啟用Nginx服務以再次啟動:

    sudo systemctl enable nginx

Nginx配置文件的結構和最佳實踐

  • 所有Nginx配置文件都位於 /etc/nginx/ 目錄。
  • Nginx的主要配置文件是 /etc/nginx/nginx.conf
  • 為了使Nginx配置更易於維護,建議為每個域創建一個單獨的配置文件。 您可以根據需要擁有任意數量的服務器阻止文件。
  • Nginx服務器阻止文件存儲在 /etc/nginx/sites-available 目錄。 Nginx不會使用此目錄中找到的配置文件,除非它們鏈接到 /etc/nginx/sites-enabled 目錄。
  • 要激活服務器塊,您需要從配置文件站點中的目錄中創建符號鏈接(指針)。 sites-available 目錄到 sites-enabled 目錄。
  • 遵循標準的命名約定是一個好主意,例如,如果您的域名是 mydomain.com 那麼您的配置文件應命名為 /etc/nginx/sites-available/mydomain.com.conf
  • /etc/nginx/snippets 目錄包含可包含在服務器阻止文件中的配置摘要。 如果使用可重複的配置段,則可以將這些段重構為片段,並將片段文件包括到服務器塊中。
  • Nginx日誌文件(access.logerror.log)位於 /var/log/nginx/ 目錄。 建議有一個不同的 accesserror 每個服務器塊的日誌文件。
  • 您可以將域文檔的根目錄設置為所需的任何位置。 webroot的最常見位置包括:
    • /home/<user_name>/<site_name>
    • /var/www/<site_name>
    • /var/www/html/<site_name>
    • /opt/<site_name>

結論#

恭喜,您已在Ubuntu 18.04服務器上成功安裝了Nginx。 現在,您準備開始部署應用程序並將Nginx用作Web或代理服務器。

如今,安全證書是所有網站的“必備”功能,要使用免費的“讓我們加密SSL”證書來保護您的網站,可以查看以下指南:

讓我們在Ubuntu 16.04上加密來保護Nginx

nginx ubuntu

Sidebar