如何安装和配置Nginx Web服务器?

时间:2022-03-03 10:35:12

如何安装和配置Nginx Web服务器?

本文将帮助您在各种Linux发行版上安装Nginx,您将了解重要的Nginx配置文件和目录。

由于其性能和易用性,Nginx是最受欢迎的Web 服务器系统。它是一种免费的开源高性能HTTP服务器系统。除了Web服务器功能外,Nginx还可以充当反向代理和负载均衡系统。

以下步骤将向您展示如何在Ubuntu、Debian、CentOS、Rocky Linux和AlmaLinux之类的各种Linux发行版上安装Nginx,并测试其功能。

此外,如果您想知道如何使用免费的Let's Encrypt SSL证书来保护您的Nginx,建议阅读这篇指南:《Let's Encrypt:使用Certbot获取免费的SSL证书》(https://linuxiac.com/lets-encrypt-free-ssl-certificate/)。

1. 安装Nginx

开始之前,您应该有一个拥有sudo权限的普通非root用户。

1.1 在Ubuntu或Debian上安装Nginx

Nginx在默认的Ubuntu和Debian存储库中可找到,因此您可以使用apt包管理工具轻松安装它。

不妨先确保您的系统是最新的:

  1. sudo apt update

之后,您可以安装Nginx了:

  1. sudo apt install nginx

如何安装和配置Nginx Web服务器?

1.2 在CentOS 7上安装Nginx

在CentOS 7上,Nginx包在EPEL(企业Linux的额外包)存储库中可找到。如果您还没有安装它,可以输入该命令来安装:

  1. sudo yum install epel-release

如何安装和配置Nginx Web服务器?

现在您可以继续安装Nginx:

  1. sudo yum install nginx

如何安装和配置Nginx Web服务器?

如果您看到该画面,请按y,然后按回车键,接受EPEL GPG密钥。

如何安装和配置Nginx Web服务器?

安装完成后,启用并启动Nginx服务:

  1. sudo systemctl enable nginx
  2. sudo systemctl start nginx

最后,HTTP(80)端口和HTTPS(443)端口都需要打开。

  1. sudo firewall-cmd --permanent --zone=public --add-service=http
  2. sudo firewall-cmd --permanent --zone=public --add-service=https
  3. sudo firewall-cmd --reload

1.3 在CentOS 8、Rocky Linux或AlmaLinux上安装Nginx

为了安装Nginx,我们将使用dnf包管理器,它是CentOS 8、Rocky Linux和AlmaLinux上的默认包管理器。

先更新所有可用的包:

  1. sudo dnf upgrade

更新完成后,运行以下命令安装Nginx:

  1. sudo dnf install nginx

如何安装和配置Nginx Web服务器?

安装完成后,启用并启动Nginx服务:

  1. sudo systemctl enable nginx
  2. sudo systemctl start nginx

想允许防火墙上通过HTTP(80)和HTTPS(443)传输流量,执行以下命令:

  1. sudo firewall-cmd --permanent --zone=public --add-service=http
  2. sudo firewall-cmd --permanent --zone=public --add-service=https
  3. sudo firewall-cmd --reload

2.检查Nginx服务状态

想确认Nginx Web服务器正在运行,执行以下命令:

  1. sudo systemctl status nginx

如何安装和配置Nginx Web服务器?

从上面显示的输出中可以得出结论,Nginx服务已启动并在运行。

此外,您可以访问默认的Nginx登录页面,通过导航到您服务器的IP地址来确认Web服务器运行正常。

如果您不知道如何查找服务器的IP地址,本文将帮助您找到地址。

这将显示默认的Nginx登录页面,表明一切正常。

如何安装和配置Nginx Web服务器?

3. Nginx配置文件和目录

Nginx现已安装,您应该会注意一些重要的文件夹和位置。

3.1 服务器配置文件

  • /etc/nginx:含有所有Nginx配置文件的主目录。
  • /etc/nginx/nginx.conf:主要的Nginx配置文件。
  • /etc/nginx/sites-available:定义各个网站的目录。请记住,Nginx不会使用在此目录中找到的配置文件,除非它们链接到/etc/nginx/sites-enabled目录。
  • /etc/nginx/sites-enabled:由Nginx积极提供服务的网站列表。

想激活网站以便将它们链接到/etc/nginx/sites-enable目录,使用如下所示的命令来创建网站配置的符号链接:

  1. sudo ln -s /etc/nginx/sites-available/mydomain.com.conf /etc/nginx/sites-enabled/

当然,您需要将mydomain.com.conf换成VirtualHost .conf文件。

3.2 Nginx日志

Nginx日志文件(access.log和error.log)位于/var/log/nginx/目录中。

  • access.log:对您Web服务器的每个请求都记录在该日志文件中。
  • error.log:记录Nginx 中生成的任何错误的日志。您的服务器未按预期运行时,可以在这里排查故障。

3.3 默认的公共Web目录

默认情况下,Nginx在其基本配置文件中设置了默认文档根目录。创建虚拟主机或服务器块时,Web服务器会在这些配置文件中指定的文档根目录中查找网站文件。

  • /var/www/html:在Ubuntu和Debian上,Nginx将文档存储在这里。
  • /usr/share/nginx/html:在CentOS、Rocky Linux和Alma Linux上,默认的Nginx网页位于此处。

结语

本教程介绍了如何在各种Linux发行版上安装Nginx,现在您可以决定想要为您的用户提供什么样的内容。

原文标题:How to Install Nginx Web Server on Linux,作者:Bobby Borisov

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

原文链接:https://os.51cto.com/art/202111/692222.htm