介绍
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

步骤 3:验证安装
通过检查软件版本来验证Nginx是否正确安装。输入以下内容:
nginx -v
系统应显示 Nginx 的软件版本。

步骤4:控制Nginx服务
Nginx的行为可以调整。使用它来启动或停止Nginx,或者在启动时启用或禁用Nginx。
首先检查Nginx服务的状态:
sudo systemctl status nginx
如果状态显示为活动(正在运行),则 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(UnComplicated Firewall)安装了一组配置文件。
首先显示可用的Nginx配置文件:
sudo ufw app list
系统应显示以下内容:

要通过默认的Ubuntu防火墙授予Nginx访问权限,请输入以下内容:
sudo ufw allow 'nginx http'
系统应显示"已更新的规则"。

通过输入以下内容刷新防火墙设置
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 欢迎页面。

如果系统没有图形界面,可以使用curl在终端中加载Nginx欢迎页面:
sudo apt-get install curl
curl –i 127.0.0.1
系统应显示 Nginx 欢迎页面的 HTML 代码。

步骤 7:配置服务器块(可选)
在Nginx中,服务器块是作为自己的服务器工作的配置。默认情况下,Nginx预配置了一个服务器块。
它位于/var/www/html。但是,可以为不同的站点配置多个服务器块。
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
3. 为服务器块创建索引.html文件
打开索引.html在您选择的文本编辑器中进行编辑(我们将使用Nano文本编辑器):
sudo nano /var/www/test_domain.com/html/index.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. 修改主机文件(可选)
如果您使用的是未注册或未公开的测试域名,则可能需要修改/etc/hosts文件以显示test_domain.com页面。
使用以下命令显示系统的 IP 地址:
hostname –i
记下显示的 IP 地址。

接下来,打开/etc/hosts进行编辑:
sudo nano /etc/hosts
在本地主机信息正下方的空白区域中,添加以下行:
127.0.1.1 test_domain.com www.test_domain.com

将127.0.1.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设置为反向代理。