如何在CentOS 8上安装和配置Nginx?


Nginx是一款流行的Web服务器,以其性能、可靠性和易用性而闻名。它广泛用于托管网站、充当反向代理、负载均衡器和缓存服务器。本文将讨论如何在CentOS 8上安装和配置Nginx。

在开始之前,请确保您具有CentOS 8服务器的root访问权限。此外,您应该具备基本的Linux命令行知识,并能够熟练使用基于终端的应用程序。

步骤1:更新系统

第一步是确保您的CentOS 8系统是最新的。您可以通过运行以下命令来实现:

sudo dnf update

这将下载并安装系统的所有可用更新。

步骤2:安装Nginx

系统更新后,您可以通过运行以下命令安装Nginx:

sudo dnf install nginx

这将下载并安装Nginx及其所有依赖项。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

步骤3:配置防火墙

默认情况下,CentOS 8预装了firewalld防火墙。您需要允许HTTP和HTTPS流量访问Web服务器。运行以下命令打开所需的端口:

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

步骤4:启动和启用Nginx

安装Nginx后,您可以通过运行以下命令启动它:

sudo systemctl start nginx

为了确保Nginx在系统启动时自动启动,请运行以下命令:

sudo systemctl enable nginx

您可以通过运行以下命令检查Nginx的状态:

sudo systemctl status nginx

如果一切正常,您应该会看到类似于以下的输出:

nginx.service - nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-04-24 15:37:24 UTC; 5s ago
   Process: 18625 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
   Main PID: 18626 (nginx)
   Tasks: 2 (limit: 11524)
   Memory: 4.9M
   CGroup: /system.slice/nginx.service
           ├─18626 nginx: master process /usr/sbin/nginx
           └─18627 nginx: worker process

步骤5:配置Nginx

Nginx的主配置文件位于/etc/nginx/nginx.conf。您可以使用您喜欢的文本编辑器打开此文件。在对文件进行任何更改之前,请通过运行以下命令备份原始文件:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

现在,打开nginx.conf文件:

sudo nano /etc/nginx/nginx.conf

在http块内,您可以添加或修改server块来配置您的虚拟主机。例如,如果您想为example.com创建一个新的虚拟主机,您可以添加以下server块:

server {
   listen 80;
   server_name example.com www.example.com;
   root /var/www/example.com;
   index index.html;
   location / {
      try_files $uri $uri/ =404;
   }
}

此server块侦听端口80,用于example.com和`www.example.com的请求。它将文档根目录设置为/var/www/example.com,并将index.html指定为默认索引文件。location`块指定如何处理此虚拟主机下URL的请求。

完成配置文件更改后,保存并退出文本编辑器。

步骤6:测试Nginx配置

在重新启动Nginx之前,最好先测试配置以确保没有语法错误。您可以通过运行以下命令来实现:

sudo nginx -t

如果存在任何错误,Nginx将显示错误消息以及发生错误的行号。如果没有错误,Nginx将显示一条消息,指示配置文件正常。

步骤7:重新启动Nginx

对配置文件进行任何更改后,您需要重新启动Nginx才能使更改生效。您可以通过运行以下命令来实现:

sudo systemctl restart nginx

步骤8:验证Nginx安装

要验证Nginx是否正确地提供服务请求,您可以打开Web浏览器并在地址栏中输入服务器的IP地址或域名。您应该会看到默认的Nginx欢迎页面。

如果您想验证您的虚拟主机是否正常工作,您可以为每个虚拟主机在其文档根目录中创建一个简单的index.html文件,然后在您的Web浏览器中访问虚拟主机的域名或IP地址。如果一切正常,您应该会看到index.html文件的内容。

Nginx最重要的功能之一是其充当反向代理的能力。这允许您将请求转发到多个后端服务器,在多个服务器之间平均分配流量,并执行负载均衡。您还可以使用Nginx作为缓存服务器,通过缓存频繁访问的内容来提高Web应用程序的性能。

Nginx的另一个强大功能是其处理SSL/TLS加密的能力。您可以通过获取和安装SSL/TLS证书来配置Nginx以提供HTTPS流量。这确保了Web服务器和用户之间所有流量的加密,提供了额外的安全层。

如果您想进一步优化Nginx安装的性能,您可以启用gzip压缩以减小传输数据的尺寸,设置浏览器缓存以减轻服务器负载,并使用gzip_static模块来提供预压缩的文件,以实现更快的交付。

还有许多可用于Nginx的第三方模块和插件可以扩展其功能。这些包括用于Web应用程序防火墙、内容过滤和身份验证的模块。

除了其Web服务器功能外,Nginx还可以用作流媒体服务器,通过HTTP提供视频和音频内容。这使其成为托管直播活动、提供点播视频内容和提供音频文件的绝佳选择。

配置Nginx的另一个重要方面是安全性。默认情况下,Nginx是一个安全的Web服务器,但是仍然有一些额外的措施可以提高其安全性。其中最重要的一项是配置访问控制,以限制对服务器的访问并防止未经授权的访问。

您可以使用Nginx内置的身份验证和授权机制来配置访问控制,也可以使用ModSecurity和Naxsi等第三方模块来提供额外的安全功能,例如Web应用程序防火墙和内容过滤。

另一个重要的安全措施是使您的Nginx安装保持最新,并安装最新的安全补丁和更新。您应该定期检查更新并在可用后立即安装它们,以确保您的服务器免受最新的安全威胁。

最后,您还应该考虑使用内容分发网络 (CDN) 来进一步提高Nginx安装的性能和安全性。CDN可以将您的内容分发到位于世界各地的服务器,从而减轻Web服务器的负载,并提高网站的速度和可靠性。许多CDN提供商还提供额外的安全功能,例如DDoS保护和Web应用程序防火墙。

结论

在本文中,我们讨论了如何在CentOS 8上安装和配置Nginx。我们介绍了安装过程、防火墙配置、启动和启用Nginx、配置Nginx、测试配置和验证安装。通过遵循这些步骤,您应该能够轻松地在CentOS 8服务器上设置Nginx并提供您的Web应用程序。

更新于:2023年5月12日

2K+ 阅读量

开启你的职业生涯

完成课程获得认证

开始学习
广告