如何在 Ubuntu Linux 上安装 Nginx Web 服务器:初学者教程

Nginx(发音为 Engine-X)是一些既可以充当 Web 服务器又可以充当代理服务器的软件。 您可以通过 Nginx 服务器提供 Web 内容。 通过 Nginx 服务器的代理和反向代理功能,您还可以将其用作路由器。 流量均衡、缓存和其他服务器操作可以由 Nginx 服务器完成。 您可以将 Nginx 服务器安装在任何云服务器、docker 引擎或本地 Linux 机器上。 Nginx服务器的算法对于拥有商用服务器的人来说是非常有利的。 由于 Ubuntu 在全球范围内运行大多数 Web 服务器,因此您可以在 Ubuntu 机器上安装 Nginx 服务器以获得更好的性能。

Ubuntu Linux 上的 Nginx Web 服务器

提供静态和动态内容的已配置 Nginx Web 服务器总是比类似的更高效 Apache 服务器。 你一定听说过 Nginx 比 Apache 服务器; 好吧,他们根本没有说谎。 Nginx Web 服务器可以更快地处理和服务资源,并维护大量并发请求。 但是,您可以同时运行 Apache 和 Nginx 服务器在同一台机器上。 您需要为每个 Web 服务器指定不同的 IP 地址或端口。

正如我前面提到的,Nginx 服务器可以执行代理和反向代理配置; 让我们讨论一下。 我们都知道代理是一种通用的服务器设置,可以隐藏客户端的身份。 在代理设置中,网络服务器找不到客户端的身份。

在反向代理配置中,客户端不会找到它正在连接的服务器。 现在,Nginx 服务器执行反向代理设置以维护安全检查和传入流量。 由于反向代理服务器可以作为负载均衡器,Nginx 的反向代理服务器可以用来维护一个大型的 Web 服务器。

如果您的 Web 服务器有一百万用户,您可以通过 Nginx 服务器使用反向代理功能。 在这篇文章中,我们将看到如何在 Ubuntu Linux 中安装 Nginx 服务器。 下面指出了 Nginx 服务器的一些主要关键特性。

  • 轻量级服务器
  • 需要低内存
  • CPU优化
  • 低功耗下的最高性能
  • 代理和反向代理服务器
  • 应用程序网关
  • 支持所有主要协议

第 1 步:在 Ubuntu Linux 中安装 Nginx Web 服务器

在 Ubuntu 中安装 Nginx Web 服务器是一个简单的过程。 您需要更新您的软件存储库。 然后通过运行以下命令安装 Nginx Web 服务器 apt 下面给出的命令。 首先,打开您的终端 shell 副本并将以下 shell 命令粘贴到您的 Ubuntu 终端中。

sudo apt update
sudo apt install nginx

– –

安装 Nginx 网络服务器后,您必须在 Ubuntu 机器上启动网络服务器。 要启动 Nginx Web 服务器,可以使用 systemctl 命令启动并检查服务器状态。

sudo systemctl start nginx
sudo systemctl status nginx

现在,您可以在 Ubuntu 机器上检查 Nginx Web 服务器的版本。
版本

sudo dpkg -l nginx

第 2 步:为 Nginx 服务器配置防火墙设置

Ubuntu 使用简单防火墙 (UFW) 防火墙保护来确保您的系统安全。 在这一步中,我们必须将 Nginx Web 服务器配置到 UFW 防火墙。 我们必须添加一个规则以允许 Nginx Web 服务器在接受防火墙列表中。

首先,您必须在您的 Ubuntu 机器中启用 UFW 防火墙功能。 然后你必须允许 Nginx 网络服务器进行 UFW 设置。 然后您可以重新加载检查您的 UFW 防火墙配置的状态。 如果您已正确完成所有操作,您将看到一条新规则已添加到防火墙配置中。

nginx防火墙

sudo ufw enable
sudo ufw allow 'Nginx HTTP'
sudo ufw reload
sudo ufw status

第 3 步:为 Nginx Web 服务器供电

如果您是 Nginx 的新手或一直在使用 Apache web server,相信这一步可以帮助你获得 Nginx web server 的基本命令。 安装 Nginx Web 服务器后,您现在可以使用以下终端命令行在您的 Ubuntu 机器上启动、停止、启用、重新加载和重新启动 Nginx Web 服务器。

systemctl 状态 Nginx 网络服务器

sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl restart nginx
sudo systemctl reload nginx

下面给出了 Nginx 服务器的一些基本命令,它们可能有助于在 Ubuntu 上维护 Nginx Web 服务器。

检查 Nginx 服务器状态

nginx -t

重新加载 Nginx 服务器

nginx -s

有关 Nginx 服务器的更多详细信息

nginx -V

转储完整的 Nginx 服务器配置

nginx -T

第 4 步:在 Ubuntu Linux 上加载 Nginx Web 服务器

现在在这一步中,我们将找到可用于通过 Web 浏览器加载 Nginx Web 服务器的 Web 地址。 我们可以在localhost地址上加载Nginx服务器,默认的Nginx端口是80。不过,我们可以通过Net-tool命令查看和验证网址。 如果您的 Ubuntu 机器中没有安装 net 工具,请先安装它。

sudo apt install net-tools
ifconfig

我们可以看到 localhost 网址显示在 shell 中,我们可以输入地址并点击 Enter 按钮在我们的 Ubuntu 机器上加载 Nginx Web 服务器的欢迎页面。

https://127.0.0.1/

欢迎使用 Ubuntu 上的 Nginx Web 服务器

第 5 步:在 Web 服务器上启用 HTTPS

任何 Web 服务器的默认 Web 地址始终是 HTTP 地址。 如果您想让您的 Web 服务器更安全,您可以为您的 Web 服务器生成一个自签名 CSR 密钥。 您可以通过这篇文章了解更多关于在 Linux 中生成 CSR(证书签名请求)的信息。 但是,您可以在 /etc/ssl Linux 文件系统的目录。 首先,创建一个目录来存储您的私有 CSR 密钥,然后访问该路径的 root 权限。

sudo mkdir /etc/ssl/private
sudo chmod 700 /etc/ssl/private

现在,从您的 Ubuntu 机器上为您的 Nginx Web 服务器发出 CSR 请求。 使用以下命令行生成 CSR。 填写所有必需的信息以完成证书签名请求。

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

HTTPS nginx 网络服务器

然后您必须配置您的 Nginx Web 服务器以进行 SSL 认证。 您可以通过编辑 SSL 配置脚本来做到这一点。 要进行该更改,请使用您喜欢的脚本编辑器打开 SSL 配置脚本。

sudo gedit /etc/nginx/conf.d/ssl.conf

现在将以下脚本复制并粘贴到 SSL 配置脚本中。 然后保存并退出文件。

server {
listen 443 http2 ssl;
listen [::]:443 http2 ssl;

UbuntuPIT https://127.0.0.1/;

ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
}

root /usr/share/nginx/html;

location / {
}

error_page 404 /404.html;
location = /404.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

最后,稍微努力将您的 Nginx 网络服务器重定向到 HTTP 到 HTTPS。 打开 SSL 重定向配置脚本,将以下脚本添加到文件中。

sudo vi /etc/nginx/default.d/ssl-redirect.conf

您可以将以下行复制并粘贴到您的 SSL 重定向脚本中。

return 301 https://$host$request_uri/;

现在要查看影响,在 Ubuntu 上重新启动 Nginx Web 服务器。

sudo systemctl restart nginx

现在访问 Nginx Web 服务器的 HTTPS 网址。

https://127.0.0.1

第 6 步:在 Ubuntu 上自定义 Nginx Web 服务器

到目前为止,我们已经了解了如何安装、配置和加载 Nginx Web 服务器; 现在,我们将了解如何自定义 Nginx Web 服务器。 我们可以为 Nginx 配置脚本分配一个新的网址和端口。

首先,我们需要定位到Nginx的安装路径,即 /var/www/html. 不要忘记以 root 用户身份运行所有命令。 假设我们的新网址是 www.mysamplesite101.com. 在这里,我们将配置 Nginx 设置以将新 URL 添加到 Nginx Web 服务器。

现在,我们必须创建一个目录来托管并添加一个新的 URL 地址。 然后授予对该目录的访问权限。

sudo mkdir -p /var/www/mysamplesite101.com/html
sudo chown -R $USER:$USER /var/www/mysamplesite101.com/html
sudo chmod -R 755 /var/www/mysamplesite101.com

然后打开新地址的 index.html 文件,为网页添加一些基本的 HTML 行。 您可以使用任何脚本编辑器来编辑 index.html 脚本。 HTML代码如下; 随意复制、粘贴和替换网址。

sudo gedit /var/www/mysamplesite101.com/html/index.html

欢迎 ubuntu 坑 Nginx 服务器

<!DOCTYPE html>
<html>
<head>
<title>Welcome to UbuntuPIT NGINX SERVER TEST!</title>
<style>
            body {
            width: 35em;
            margin: 0 auto;
            font-family: Tahoma, Verdana, Arial, sans-serif;

}

</style>
</head>
<body>
<h1>Welcome to UbuntuPIT nginx server!</h1>
<p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="https://www.ubuntupit.com/">www.ubuntupit.com</a>.<br/>

Commercial support is available at
<a href="https://www.ubuntupit.com/">www.ubuntupit.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>

</body>
</html>

您必须知道 Nginx Web 服务器有一个配置脚本,其中存储了所有允许的网址名称和链接。 您必须登记您的 URL 地址和对该地址的授予权限才能让 Nginx Web 服务器加载您的 URL。

sudo gedit /etc/nginx/sites-available/mysamplesite101.com
sudo ln -s /etc/nginx/sites-available/mysamplesite101.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/mysamplesite101.com /etc/nginx/sites-enabled/

首先,打开 index 脚本,在你的 Ubuntu 机器上查看 Nginx 的可用站点列表。 然后将您的站点名称和域添加到脚本中。 您可以使用以下命令行来完成这项工作。

server {
listen 80;
listen [::]:80;

mysamplesite101.com mysamplesite101.com;

root /var/www/mysamplesite101.com;
index index.html;

location / {
try_files $uri $uri/ =404;
}
}

可用网站

现在重新启动 Ubuntu 机器上的 Nginx Web 服务器。

sudo systemctl restart nginx
nginx -t

这是 Nginx Web 服务器的一些关键目录地址,它可以帮助您定位和编辑配置脚本、可用站点列表、错误日志以及在 Ubuntu 上的长时间访问。

现在在 Web 浏览器的地址栏中键入您的自定义 URL。 如果您可以加载以下页面,则说明您的配置运行良好。

UbuntuPIT 已启动

/etc/nginx/nginx.conf
/etc/nginx/sites-available
/etc/nginx/sites-enabled
/var/log/nginx/access.log
/var/log/nginx/error.log

从 Ubuntu Linux 中删除 Nginx Web 服务器

几个特定的​​原因可能会导致您从 Ubuntu 机器上关闭 Nginx Web 服务器; 但是,如果您想从您的机器上卸载并删除 Nginx Web 服务器及其配置文件。 首先,您需要在您的机器上停止 Nginx 服务器的运行进度。 按照终端命令停止 Ubuntu 机器上的所有 Nginx 服务。

service nginx quit
systemctl quit nginx

现在,使用以下 apt 命令从您的机器上卸载 Nginx Web 服务器。

sudo apt-get remove nginx-full nginx-common
sudo apt-get purge nginx nginx-common

卸载过程完成后,您可以使用以下终端命令行从您的 Ubuntu 机器中删除 Nginx 配置目录。

sudo apt-get autoremove
rm -rf /etc/nginx

额外提示:为 Nginx 服务器启用 HTTP2

在处理服务器配置时,您可能对可以提高站点加载速度的东西感兴趣。 传统的 HTTP 协议从服务器单独加载文件,而 HTTP2 协议 可以将服务器中的所有资源组合并加载为组合二进制文件。 通过使用 HTTP2 方法,您可以提高服务器的速度,减少加载时间,并修复超时错误。

结束词

在您的 Ubuntu 机器上安装 Nginx 服务器之前,请确保您的网站或本地业务确实需要 Nginx 服务器。 您还可以查看 Nginx plus 功能。 如果您是 Nginx Web 服务器爱好者,您可以通过这篇文章了解有关 Nginx Web 服务器的基本知识。

我已经在整篇文章中展示了代理和反向代理服务器的基本思想。 我还描述了如何在 Ubuntu 上安装和配置 Nginx Web 服务器的步骤。 你也可以在你的 Ubuntu 服务器上安装 Nginx 服务器。

如果您喜欢这篇文章,请与您的朋友和 Linux 社区分享。 我们还鼓励您在评论部分写下您的意见。