Since I upgrade to the latest version of Ubuntu,…
何在 Ubuntu 20.04 上安装和配置 Nginx, How to Install and Configure Nginx on Ubuntu 20.04
介绍
Nginx 是一个免费的开源 Linux 应用程序,用于 Web 服务器。它通过将 Web 流量定向到特定服务器来充当反向代理服务器。
Nginx 用于安全和负载平衡,但也可以作为 Web 服务器独立运行。
本指南将帮助您在 Ubuntu 20.04 Linux (Focal Fossa) 上安装 Nginx。
先决条件
- 运行 Ubuntu 20.04 Linux 的系统
- 具有 sudo 或 root 权限的用户帐户
- 访问终端窗口/命令行(单击 活动 > 搜索 > 输入 终端)
步骤 1:更新软件存储库
在安装新软件之前刷新存储库列表很重要。这有助于确保安装了最新的更新和补丁。
打开终端窗口并输入以下内容:
sudo apt-get update
允许该过程完成。
第 2 步:从 Ubuntu 存储库安装 Nginx
Nginx 包含在 Ubuntu 20.04 默认存储库中。通过输入以下命令安装它:
sudo apt-get install nginx
注意:如果系统生成有关锁定文件的错误,请参阅如何修复无法获取锁定/Var/Lib/Dpkg/Lock 错误以获取建议。
第 3 步:验证安装
通过检查软件版本来验证 Nginx 是否正确安装。输入以下内容:
nginx -v
统应该会显示 Nginx 的软件版本。
第四步:控制 Nginx 服务
Nginx 的行为可以调整。使用它来启动或停止 Nginx,或者在启动时启用或禁用 Nginx。
首先检查 Nginx 服务的状态:
sudo systemctl status nginx
如果状态显示 active (running)
,则 Nginx 已经启动。按CTRL
+z
退出状态显示。
如果 Nginx 未运行,请使用以下命令启动 Nginx 服务:
sudo systemctl start nginx
要设置 Nginx 在系统启动时加载,请输入以下内容:
sudo systemctl enable nginx
要停止 Nginx 服务,请输入以下内容:
sudo systemctl stop nginx
为了防止 Nginx 在系统启动时加载:
sudo systemctl disable nginx
重新加载 Nginx 服务(用于应用配置更改):
sudo systemctl reload nginx
对于 Nginx 的硬重启:
sudo systemctl restart nginx
第 5 步:允许 Nginx 流量
Nginx 需要通过系统的防火墙访问。为此,Nginx 为 Ubuntu 默认ufw(简单防火墙)安装了一组配置文件。
首先显示可用的 Nginx 配置文件:
sudo ufw app list
系统应显示以下内容:
要通过默认的 Ubuntu 防火墙授予 Nginx 访问权限,请输入以下内容:
sudo ufw allow 'nginx http'
系统应显示Rules updated
.
通过输入以下内容刷新防火墙设置:
sudo ufw reload
对于加密 (https) 流量,请输入:
sudo ufw allow 'nginx https'
sudo ufw allow 'nginx full'
第 6 步:测试 Nginx
确保 Nginx 服务正在运行,如步骤 4 所示。打开 Web 浏览器,并导航到以下 Web 地址:
http://127.0.0.1
系统应该显示 Nginx 欢迎页面。
注意:如果系统具有特定的主机名或 IP 地址,则可以使用它。
如果系统没有图形界面,可以在终端使用 curl加载 Nginx 欢迎页面:
sudo apt-get install curl curl –i 127.0.0.1
系统应该显示 Nginx 欢迎页面的 HTML 代码。
第 7 步:配置服务器块(可选)
在 Nginx 中,服务器块是作为自己的服务器工作的配置。默认情况下,Nginx 预先配置了一个服务器块。
它位于/var/www/html。但是,它可以为不同的站点配置多个服务器块。
注意:本教程使用test_domain.com作为域名。这可以替换为您自己的域名。
1.为测试域创建目录
在终端窗口中,通过输入以下内容创建一个新目录:
sudo mkdir -p /var/www/test_domain.com/html
2.配置所有权和权限
用于chmod
配置所有权和权限规则:
sudo chown –R $USER:$USER /var/www/test_domain.com sudo chmod –R 755 /var/www/test_domain.com
注意:阅读我们的文章以了解如何递归使用 chmod。
3. 为服务器块创建一个 index.html 文件
在您选择的文本编辑器中打开 index.html进行编辑(我们将使用 Nano 文本编辑器):
sudo nano /var/www/test_domain.com/html/index.html
在文本编辑器中,输入以下 HTML 代码:
<html> <head> <title>Welcome to test_domain.com!</title> </head> <body> <h1>This message confirms that your Nginx server block is working. Great work!</h1> </body> </html>
按CTRL
+o
写入更改,然后 按CTRL
+x
退出。
4.创建Nginx服务器块配置
打开配置文件进行编辑:
sudo nano /etc/nginx/sites-available/test_domain.com
输入以下代码:
server { listen 80; root /var/www/test_domain.com/html; index index.html index.htm index.nginx.debian.html; server_name test_domain.com www.test_domain.com; location / { try_files $uri $uri/ =404; } }
5. 为 Nginx 创建符号链接以在启动时读取
通过输入以下内容在服务器块和启动目录之间创建符号链接:
sudo ln –s /etc/nginx/sites-available/test_domain.com /etc/nginx/sites-enabled
6.重启Nginx服务
通过运行以下命令重新启动 Nginx :
sudo systemctl restart nginx
7. 测试配置
sudo nginx –t
系统应报告配置文件语法正常,并且配置文件测试成功。
8.修改Hosts文件(可选)
如果您使用的是未注册或未公开的测试域名,则 可能需要修改/etc/hosts文件以显示test_domain.com页面。
使用以下命令显示系统的 IP 地址:
hostname –i
记下显示的 IP 地址。
接下来,打开/etc/hosts 进行编辑:
sudo nano /etc/hosts
在 localhost 信息正下方的空白处,添加以下行:
127.0.1.1 test_domain.com www.test_domain.com
将127.0.0.1替换为上面显示的 IP 地址。按CTRL
+o
保存更改,然后 按CTRL
+x
退出。
9. 在 Web 浏览器中检查 test_domain.com
打开浏览器窗口并导航到test_domain.com(或您在 Nginx 中配置的域名)。
您应该会看到您在第 3 部分中输入的消息。
重要的 Nginx 文件位置
默认情况下,Nginx 将不同的配置和日志文件存储在以下位置:
- /var/www/html – 访问者看到的网站内容。
- /etc/nginx – 主要 Nginx 应用程序文件的位置。
- /etc/nginx/nginx.conf – 主要的 Nginx 配置文件。
- /etc/nginx/sites-available – 通过 Nginx 配置的所有网站的列表。
- /etc/nginx/sites-enabled – Nginx 积极服务的网站列表。
- /var/log/nginx/access.log – 访问日志跟踪对服务器的每个请求。
- /var/log/ngins/error。log – Nginx 中生成的任何错误的日志。
结论
您现在应该在 Ubuntu 20.04 上安装了 Nginx。作为奖励,您现在应该了解如何设置 Nginx 服务器块。
如果您打算将 Nginx 用作反向代理,请参阅我们的文章 –如何将Nginx设置为反向代理。
本文:何在 Ubuntu 20.04 上安装和配置 Nginx, How to Install and Configure Nginx on Ubuntu 20.04