如何在CentOS 7上安装Nginx

时间:2020-03-05 15:30:25  来源:igfitidea点击:

Nginx的发音是“ engine x”,它是一个免费的开源高性能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) <[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”。

  • 安装完成后,使用以下命令启用并启动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 2016-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=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo firewall-cmd --reload
  • 要验证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”目录中。我们可以根据需要拥有任意数量的服务器块。
  • 遵循标准的命名约定是个好主意,例如,如果域名是“ mytheitroad.com”,则配置文件应命名为“ /etc/nginx/conf.d/mytheitroad.com.conf”
  • 如果在域服务器块中使用可重复的配置段,则最好创建一个名为“/etc/nginx/snippets”的目录,将这些段重构为片段并将片段文件包括到服务器块中。
  • Nginx日志文件(“ access.log”和“ error.log”)位于“/var/log/nginx /”目录中。建议为每个服务器块使用不同的“访问”和“错误”日志文件。
  • 我们可以将域文档的根目录设置为所需的任何位置。 webroot的最常见位置包括:
  • '/home/<用户名>/<站点名>'
  • '/var/www/<站点名称>'
  • '/var/www/html/<site_name>'
  • '/opt/<站点名称>'
  • '/usr/share/nginx/html'