由于其性能和易用性,Nginx 是最受欢迎的 Web 服务器。它是一个免费和开源的高性能 HTTP 服务器。除了Web 服务器功能,Nginx 还可以充当反向代理和负载均衡器。
按照以下步骤将向您展示如何在 Ubuntu、Debian、CentOS、Rocky Linux、AlmaLinux 等各种 Linux 发行版上安装 Nginx,并测试其功能。
此外,如果您想知道如何使用免费的 Let's Encrypt SSL 证书来保护您的 Nginx,我建议您阅读我们的指南Let's Encrypt:使用 Certbot 获取免费的 SSL 证书(见 https://www.linuxmi.com/lets-encrypt-certbot-ssl.html )。
目录
- 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 为您的 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。现在由您决定要为用户提供哪些内容。