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
端口,允许来自这两个端口的连接。使用以下命令永久打开80
和443
和的端口:
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.log
和error.log
位于/var/log/nginx/
目录中。建议为每个虚拟主机使用不同的access
和error
日志文件。
您可以将web站点根目录设置为所需的任何位置。Webroot的最常见位置包括:/home/<user_name>/<site_name>
,/var/www/<site_name>
,
/var/www/html/<site_name>
,/opt/<site_name>
,/usr/share/nginx/html
。
配置虚拟主机
配置Let's Encrypt SSL证书
mkcert创建本地SSL证书
结论
您已在CentOS 7成功安装Nginx。您现在就可以开始部署应用程序,并将Nginx用作Web或代理服务器。
您可以像管理systemd服务一样管理Nginx服务。如果您有任何疑问或反馈,请随时发表评论。