如何在CentOS 7上安裝Nginx

Nginx的發音 engine x 是一個免費的,開源的,高性能的HTTP和反向代理服務器,負責處理Internet上一些最大站點的負載。

Nginx可以用作獨立的Web服務器,也可以用作Apache和其他Web服務器的反向代理。

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

本教程將教您如何在CentOS 7計算機上安裝和管理Nginx。

先決條件

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

在CentOS上安裝Nginx#

請按照以下步驟在您的CentOS服務器上安裝Nginx:

  1. Nginx軟件包可在EPEL存儲庫中找到。 如果尚未安裝EPEL儲存庫,則可以通過鍵入以下內容來完成:

    sudo yum install epel-release
  2. 通過鍵入以下yum命令來安裝Nginx:

    sudo yum install nginx

    如果這是您第一次從EPEL信息庫安裝軟件包,yum可能會提示您導入EPEL GPG密鑰:

    Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    Importing GPG key 0x352C64E5:
    Userid     : "Fedora EPEL (7) <[email protected]>"
    Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
    Package    : epel-release-7-9.noarch (@extras)
    From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    Is this ok [y/N]:

    如果是這樣,請輸入 y 並擊中 Enter

  3. 安裝完成後,使用以下命令啟用並啟動Nginx服務:

    sudo systemctl enable nginxsudo systemctl start nginx

    使用以下命令檢查Nginx服務的狀態:

    sudo systemctl status nginx

    輸出應如下所示:

    ● 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 Mon 2018-03-12 16:12:48 UTC; 2s ago
      Process: 1677 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
      Process: 1675 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
      Process: 1673 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
    Main PID: 1680 (nginx)
      CGroup: /system.slice/nginx.service
              ├─1680 nginx: master process /usr/sbin/nginx
              └─1681 nginx: worker process
  4. 如果您的服務器受防火牆保護,則需要同時打開兩個HTTP(80)和HTTPS(443)端口。

    使用以下命令打開必要的端口:

    sudo firewall-cmd --permanent --zone=public --add-service=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo firewall-cmd --reload
  5. 要驗證您的Nginx安裝,請打開 http://YOUR_IP 在您選擇的瀏覽器中,您將看到默認的Nginx歡迎頁面,如下圖所示:

使用systemctl管理Nginx服務

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

要停止Nginx服務,請運行:

sudo systemctl stop nginx

要重新啟動,請鍵入:

sudo systemctl start nginx

重新啟動Nginx服務:

sudo systemctl restart nginx

進行一些配置更改後,請重新加載Nginx服務:

sudo systemctl reload nginx

如果要禁用Nginx服務以在啟動時啟動:

sudo systemctl disable nginx

並重新啟用它:

sudo systemctl enable nginx

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

  • 所有Nginx配置文件都位於 /etc/nginx/ 目錄。
  • Nginx的主要配置文件是 /etc/nginx/nginx.conf
  • 為了使Nginx配置更易於維護,建議為每個域創建一個單獨的配置文件。
  • 新的Nginx服務器阻止文件必須以結尾 .conf 並存儲在 /etc/nginx/conf.d 目錄。 您可以根據需要擁有任意數量的服務器塊。
  • 遵循標準的命名約定是一個好主意,例如,如果您的域名是 mydomain.com 那麼您的配置文件應命名為 /etc/nginx/conf.d/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>
    • /usr/share/nginx/html

結論#

恭喜,您已在CentOS 7服務器上成功安裝了Nginx。 現在,您準備開始部署應用程序並將Nginx用作Web或代理服務器。 如果您打算在CentOS服務器上託管多個域,則應學習如何創建Nginx服務器塊。

如今,安全證書是所有網站的“必備”功能。 要使用免費的Let’s Encrypt SSL證書保護您的網站,您可以查看我們的教程,該教程如何在CentOS 7上使用Let’s Encrypt保護Nginx。

Nginx中心

這篇文章是在CentOS 7系列上安裝LEMP堆棧的一部分。本系列的其他文章:

•如何在CentOS 7March 13,2018上安裝Nginx•在Let’s Encrypt CentOS 7March 13,2018上保護Nginx•在CentOS 7March 14,2018上安裝MariaDB•在CentOS 7March 15,2018上安裝PHP 7•如何設置Nginx服務器塊在CentOS 7上2018年9月24日

Sidebar