如何在CentOS 8安装Nginx

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

5 min read
By myfreax
如何在CentOS 8安装Nginx

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

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

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

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

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

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

打开HTTP协议的80端口和HTTPS协议443端口,允许来自这两个端口的连接。运行firewall-cmd命令永久打开80443和的端口。

sudo yum install nginx
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
● 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 Sun 2019-10-06 18:35:55 UTC; 17min ago
   ...

现在,您可以通过在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 8配置Nginx虚拟主机 | myfreax
server是Nginx指令,用于定义指定域名的配置置,从而使您可以在一台服务器上运行多个网站

配置Let's Encrypt SSL证书

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

mkcert创建本地SSL证书

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

结论

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

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