本指南将帮助您在各种 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 证书

目录

  • 1. 安装 Nginx
    • 1.1 在 Ubuntu 或 Debian 上安装 Nginx
    • 1.2 在 CentOS 7 上安装 Nginx
    • 1.3 在 CentOS 8、Rocky Linux 或 AlmaLinux 上安装 Nginx
  • 2.检查Nginx服务状态
  • 3. Nginx 配置文件和目录
    • 3.1 服务器配置文件
    • 3.2 Nginx 日志
    • 3.3 默认公共 Web 目录
  • 结论

1. 安装 Nginx

在开始之前,您应该拥有一个具有sudo特权的常规非 root 用户。

1.1 在 Ubuntu 或 Debian 上安装 Nginx

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

让我们首先确保您的系统是最新的:

sudo apt update

之后,您可以安装 Nginx:

sudo apt install nginx

1.2 在 CentOS 7 上安装 Nginx

在 CentOS 7 上,Nginx 包在EPEL(企业 Linux 的额外包)存储库中可用。如果你还没有安装它,你可以输入:

sudo yum install epel-release

现在您可以继续安装 Nginx:

sudo yum install nginx

如果您看到这一点,请按y ,然后 按 Enter 接受 EPEL GPG 键。

安装完成后,启用并启动 Nginx 服务:
sudo systemctl enable nginx
sudo systemctl start nginx

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

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

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

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

首先,更新所有可用的包:

[linuxmi@localhost www.linuxmi.com]$ sudo dnf upgrade

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

[linuxmi@localhost www.linuxmi.com]$ sudo dnf install nginx
 安装完成后,启用并启动 Nginx 服务:
[linuxmi@localhost www.linuxmi.com]$ sudo systemctl enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
[linuxmi@localhost www.linuxmi.com]$ sudo systemctl start nginx

要允许 防火墙上的HTTP (80) 和 HTTPS (443)流量,请执行以下命令:

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

2.检查Nginx服务状态

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

[linuxmi@localhost www.linuxmi.com]$ sudo systemctl status nginx

输出如下:

● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor prese>
   Active: active (running) since Sun 2021-12-12 20:37:40 EST; 1min 18s ago
  Process: 3715 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 3713 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 3712 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status>
 Main PID: 3717 (nginx)
    Tasks: 2 (limit: 23372)
   Memory: 6.5M
   CGroup: /system.slice/nginx.service
           ├─3717 nginx: master process /usr/sbin/nginx
           └─3718 nginx: worker process

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

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

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

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 目录,请使用下面显示的命令创建网站配置的符号链接:

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

当然,您需要替换 mydomain.com.conf 为您的虚拟主机.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。现在由您决定要为用户提供哪些内容。

相关:如何配置 Nginx 以通过 PHP-FPM 使用 PHP

如果您想了解有关 Nginx 及其工作原理的更多信息,可以查看 Nginx 官方文档

发表评论