Nginx 发音为“engine x”,是一个开源、高性能的 HTTP 和反向代理服务器,负责处理互联网上一些最大站点的负载。它可以用作独立的 Web 服务器、负载均衡器、内容缓存和反向代理 适用于 HTTP 和非 HTTP 服务器。
与 Apache 相比,Nginx 可以处理大量并发连接,并且每个连接的内存占用更小。
本教程介绍如何在 Ubuntu 20.04 上安装和管理 Nginx。
先决条件#
在继续之前,请确保您以以下身份登录具有 sudo 权限的用户 ,并且您没有在端口 80 或 443 上运行 Apache 或任何其他进程。
安装 Nginx#
Nginx 在默认的 Ubuntu 存储库中可用。要安装它,请运行以下命令:
sudo apt update
sudo apt install nginx
安装完成后,Nginx服务将自动启动。您可以通过运行来验证它:
sudo systemctl status nginx
输出将如下所示:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-05-02 20:25:43 UTC; 13s ago
...
就是这样。 Nginx 已安装在您的 Ubuntu 计算机上。你可以管理 Nginx 服务 与任何其他 systemd 单元相同的方式。
配置防火墙#
现在您已经在服务器上安装并运行了 Nginx,您需要确保您的防火墙配置为允许 HTTP 上的流量(80
) 和 HTTPS (443
)端口。假设您正在使用UFW ,您可以通过启用“Nginx Full”配置文件来做到这一点,其中包括两个端口的规则:
sudo ufw allow 'Nginx Full'
要验证状态类型:
sudo ufw status
输出将如下所示:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
测试安装#
要测试新的 Nginx 安装,请打开http://YOUR_IP
在您选择的浏览器中,您应该会看到默认的 Nginx 登录页面,如下图所示:
Nginx 配置文件的结构和最佳实践#
所有 Nginx 配置文件都位于/etc/nginx
目录。
Nginx的主要配置文件是/etc/nginx/nginx.conf
.
为了使 Nginx 配置更易于维护,建议为每个域创建单独的配置文件。您可以根据需要拥有任意数量的服务器块文件。
Nginx 服务器块文件存储在/etc/nginx/sites-available
目录。 Nginx 不会使用在此目录中找到的配置文件,除非它们链接到/etc/nginx/sites-enabled
目录。
要激活服务器块,您需要从配置文件站点创建一个符号链接(指针)sites-available
目录到sites-enabled
目录。
建议遵循标准命名约定。例如,如果您的域名是mydomain.com
那么你的配置文件应该命名为/etc/nginx/sites-available/mydomain.com.conf
The /etc/nginx/snippets
目录包含可以包含在服务器块文件中的配置片段。如果您使用可重复的配置段,则可以将这些段重构为片段并将片段文件包含到服务器块中。
Nginx 日志文件(access.log
and error.log
)位于/var/log/nginx
目录。建议有不同的access
and error
每个服务器块的日志文件。
You can set your domain document root directory to any location you want. The most common locations for webroot include:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
结论#
我们向您展示了如何在 Ubuntu 20.04 上安装 Nginx。您现在可以开始部署应用程序并使用 Nginx 作为 Web 或代理服务器。
如果您有任何问题或反馈,请随时发表评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)