如何在 Ubuntu 20.04 Focal Fossa 上安装 NGINX
在下面的教程中,您将学习如何通过简单的步骤在 Ubuntu 20.04 Focal Fossa 上安装 Nginx Web 服务器。
在本教程中您将学习:
如何安装 Nginx
如何配置防火墙以允许 Nginx 传入流量
如何管理Nginx服务器
如何在 Ubuntu 20.04 Focal Fossa 上安装 NGINX
如何在 Ubuntu 20.04 上安装 NGINX 分步说明
第一步是执行 NGINX 服务器安装。为此,只需使用 apt 命令从标准 Ubuntu 存储库安装 nginx 软件包:
$ sudo apt install nginx
接下来,创建防火墙规则以允许端口 80 或端口 443 或两者上的传入流量。 Ubuntu 使用 UFW 作为默认防火墙。请检查 UFW 防火墙的状态,因为如果您的 UFW 防火墙已启用,则只需执行此步骤。
NGINX 服务器的安装还附带了预配置的 UFW 防火墙规则:
- Nginx Full
- 允许 HTTP 端口 80 和 HTTPS 端口 443 传入流量
- Nginx HTTP
- 允许 HTTP 端口 80 传入流量
- Nginx HTTPS
- 允许 HTTPS 端口 443 传入流量
根据您的环境,您是否打算稍后将 SSL (HTTPS) 作为 NGINX 配置的一部分,选择上述选项之一并执行以下命令以添加新的 UFW 规则以允许传入流量进入您的 NGINX 服务器:
$ sudo ufw allow in "Nginx Full" OR $ sudo ufw allow in "Nginx HTTP" OR $ sudo ufw allow in "Nginx HTTPS"
此时 NGINX 服务器应该已启动并正在运行。使用 NGINX 服务器的 IP 地址或主机名远程连接到它。
测试很简单,只需使用
curl
命令即可。鉴于我们的 NGINX 服务器的 IP 地址是192.168.1.28
来测试服务器,我们可以执行以下命令:$ curl -I 192.168.1.28 HTTP/1.1 200 OK Server: nginx/1.17.8 (Ubuntu) Date: Fri, 28 Feb 2020 00:29:33 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Thu, 27 Feb 2020 23:48:55 GMT Connection: keep-alive ETag: "5e585567-264" Accept-Ranges: bytes
或者,使用 NGINX 服务器的 IP 地址或主机名通过任何 Web 浏览器连接到它。
最后一步是将 NGINX 服务器配置为在系统重新启动后启动。为此,请在终端窗口中输入以下命令:
$ sudo systemctl enable nginx
检查NGINX服务器的状态并使NGINX服务器在系统重启后自动启动
正确管理 NGINX 服务器可能需要的其他命令包括:
- systemctl status nginx
- 检查 NGINX 服务器的状态
- systemctl restart nginx
- 完全重新启动 NGINX 服务器
- systemctl reload nginx
- 重新加载 NGINX 配置而不删除现有的 NGINX 客户端连接
- systemctl start nginx
- 启动 NGINX 服务器
- systemctl stop nginx
- 停止 NGINX 服务器
故障排除
以下是有关如何排除 NGINX 服务器故障的一些提示。
首先,检查 NGINX 服务器日志是否存在任何问题或错误。 NGINX 默认保存访问和错误日志。两个日志都位于 /var/log/nginx/
目录中。
如果您无法启动 NGINX 服务器,请使用 nginx -t 命令检查配置文件语法。无论如何,在任何 NGINX 服务器配置更改后执行 nginx -t 是一个很好的管理实践。
如果您无法连接到 NGINX 服务器,请确保按照上述<步骤>第 2 步步骤>正确设置防火墙规则,并确认 NGINX 正在侦听正确的端口和网络 ID。例子:
$ ss -lt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:*
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
LISTEN 0 511 0.0.0.0:http 0.0.0.0:*
LISTEN 0 128 [::]:ssh [::]:*
LISTEN 0 511 [::]:http [::]:*