发音为engine x的Nginx是一个免费的开源高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。

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

与Apache相比,Nginx可以处理大量并发连接,并且每个连接的内存占用量较小。

本教程将教您如何在CentOS 7计算机上安装和管理Nginx。

先决条件

开始学习本教程之前,请确保您以位具有sudo特权的用户身份登录,并且您没有在端口80或443上运行Apache或任何其他服务。

在CentOS上安装Nginx

按照以下步骤在您的CentOS服务器上安装Nginx:

Nginx软件包可在EPEL存储库中获得。如果尚未安装 EPEL信息库,则可以通过键入以下内容来实现:

sudo yum install epel-release

通过键入以下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) <epel@fedoraproject.org>"
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

安装完成后,使用以下方法启用并启动Nginx服务:

sudo systemctl enable nginx
sudo 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

如果您的服务器受到防火墙的保护,则需要同时打开HTTP(80)和HTTPS(443)端口。

使用以下命令打开所需的端口:

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

要验证您的Nginx安装,请在选择的浏览器中打开http://YOUR_IP ,您将看到默认的Ng inx欢迎页面

使用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。

此职位是 在CentOS 7  系列上安装LEMP堆栈的一部分。
该系列中的其他职位:  

•如何在CentOS 7上安装Nginx

让我们在CentOS 7上加密来保护Nginx

在CentOS 7上安装MariaDB

安装PHP 7 on CentOS 7

如何设置Nginx CentOS 7上的服务器块

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持