Nginx发音为engine x,是开源的高性能HTTP和反向代理服务器。它可用作HTTP/Web服务器,负载均衡,内容缓存和反向代理

它可用作HTTP和非HTTP服务器的独立Web服务器,负载均衡器,内容缓存和反向代理。与Apache相比,Nginx可以处理大量并发连接,并且每个连接的内存占用量更小。

请确保您以具有sudo权限的用户登录,并且您没有在端口80或443上运行Apache或其它进程。

从CentOS 7开始,Nginx软件包在默认的CentOS存储库中可用。我们可以通过yum进行安装

您可以通过运行systemctl命令查看服务的状态,从而确定Nginx服务是否正常启动。

Nginx软件包可在EPEL存储库中获得。在安装Nginx之前我们先启用EPEL仓库,使用yum。然后再使用yum安装nginx。

如果这是您首次从EPEL存储库安装软件包,yum可能会提示您导入EPEL GPG密钥。如果你是这种情况,请键入y并单击Enter

sudo yum install epel-release
sudo yum install nginx
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]:

安装完成后,您可以使用systemd的方式管理Nginx服务。使用以下方法启用并启动Nginx服务,使用以下方法检查Nginx服务的状态。

FirewallD是Centos 7上的默认防火墙解决方案。在安装过程中,Nginx使用预定义规则创建防火墙服务文件。

打开HTTP协议的80端口和HTTPS协议443端口,允许来自这两个端口的连接。使用以下命令永久打开80443和的端口:

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

现在,您可以通过在Web浏览器中打开http://YOUR_IP来测试Nginx的安装。您应该看到默认的Nginx欢迎页面。

Nginx配置文件的结构和最佳做法

所有Nginx配置文件都位于/etc/nginx/目录中。主要的Nginx配置文件为/etc/nginx/nginx.conf

建议为每个域创建单独的配置文件。Nginx的虚拟主机配置文件必须以.conf结尾,并存储在/etc/nginx/conf.d目录中。您可以根据需要拥有任意数量的虚拟主机配置文件。

遵循标准命名约定是一种好的做法。例如,如果域名为mydomain.com,则配置文件应命名为mydomain.com.conf

如果您在虚拟主机配置文件中使用可重复的配置片段,则最好将这些片段存放在单独的文件中,然后使用include指令包含它。

Nginx日志文件access.logerror.log位于/var/log/nginx/目录中。建议为每个虚拟主机使用不同的accesserror日志文件。

您可以将web站点根目录设置为所需的任何位置。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虚拟主机 | myfreax
server是Nginx指令,用于定义指定域名的配置置,从而使您可以在一台服务器上运行多个网站

配置Let's Encrypt SSL证书

如何在CentOS 7 Nginx配置Let’s Encrypt SSL证书 | myfreax
Web进行安全通信依赖于HTTPS,这需要使用数字证书,以便浏览器验证Web服务器的身份,比如说,google.com是真的吗

mkcert创建本地SSL证书

如何使用mkcert创建SSL证书 | myfreax
您是否厌倦了在本地开发项目中使用不受信任的SSL证书?维护自己的证书颁发机构CA是一个痛苦的事情,这过程中需要用到神秘的程序和命令

结论

您已在CentOS 7成功安装Nginx。您现在就可以开始部署应用程序,并将Nginx用作Web或代理服务器。

您可以像管理systemd服务一样管理Nginx服务。如果您有任何疑问或反馈,请随时发表评论。