如何在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