在 Linux 操作系统中,反向代理充当主机(客户端)和服务器之间的链接。它接收客户端请求并将它们传递给其他服务器,最后将服务器的响应传递给客户端,就好像它们来自代理服务器本身一样。在本教程中,我们将向您展示什么是Nginx反向代理以及如何在您的VPS上设置它!
客户端和服务器不断交换信息以高效工作。通常,反向代理由网络服务器使用。反向代理或网关在客户端看来就像一个普通的 Web 服务器,不需要特殊配置。客户端发出普通请求,而反向代理决定将信息传递到何处,将最终输出传递给客户端,就好像它是来源一样。Nginx反向代理具有广泛的优势。它是互联网上使用最活跃的开源服务器之一。
使用 Nginx 反向代理的优势
让我们深入探讨解释此工具为何如此受欢迎的原因:
- 它易于实施并为用户提供针对 Web 服务器攻击(例如 DDoS 和 DoS)的高端安全性
- Nginx 反向代理有助于在多个后端服务器之间创建均衡负载,并为速度较慢的后端服务器提供缓存
- Nginx 不需要为来自客户端的每个 Web 请求设置一个新进程。相反,默认配置是每个 CPU 包含一个工作进程
- 可以作为HTTP、HTTPS、TCP、UDP、SMTP、IMAP、POP3等多种协议的反向代理服务器
- 它可以处理超过 10000 个连接,内存占用很小。Nginx 可以通过单个 IP 地址操作多个 Web 服务器,并将每个请求传递到 LAN 中的正确服务器
- Nginx 是提高静态内容性能的最佳 Web 服务器之一。此外,提供缓存内容和执行 SSL 加密以降低 Web 服务器的负载也很有帮助
- 在通过压缩内容以增加加载时间来优化内容时,它也很有帮助
- Nginx 可以在不将 JavaScript 代码放入页面的情况下进行随机实验或 A/B 测试。
所有这些好处只是冰山一角!您使用 Nginx 反向代理的次数越多,您会发现的功能就越多!
如何设置 Nginx 反向代理?
现在,我们将在 Apache Web 服务器前配置 Nginx。我们选择 Apache 服务器是因为它更擅长处理动态内容。所以,所有的静态内容都将转到 Nginx,而动态内容将转到 Apache。这将通过基于处理标准优化内容交付来提高性能。接下来,我们将 Nginx Proxy Server 的 IP 地址定义为192.xx1,将后端 Apache 服务器的 IP 地址定义为192.xx2。设置 Apache 后,我们可以继续执行以下步骤:
1.安装Nginx
我们将在 Ubuntu 18.04 上使用 apt 命令:
sudo apt-get 更新
sudo apt-get 安装 nginx
2.禁用默认虚拟主机
安装 Nginx 后,请按照以下命令禁用虚拟主机:
sudo unlink /etc/nginx/sites-enabled/default
3. 创建 Nginx 反向代理
禁用虚拟主机后,我们需要在etc/nginx/ sites-available目录下创建一个名为reverse-proxy.conf的文件来保存反向代理信息。
为此,我们应该首先使用 cd 命令访问该目录:
cd etc/nginx/sites-available/
然后我们可以使用 vi 编辑器创建文件:
vi 反向代理.conf
在文件中,我们需要粘贴这些字符串:
服务器 { 听80; 地点 / { proxy_pass http://192.xx2; } }
在上面的命令中,重要的一点是代理传递允许通过 Nginx 反向代理的请求传递到192.xx2:80,这是 Apache 远程套接字。因此,Web 服务器(Nginx 和 Apache)共享内容。
完成后,只需保存文件并退出 vi 编辑器。您可以通过键入:wq来完成此操作。
要将信息传递给其他服务器,您可以在终端中使用ngx_http_proxy_module 。
现在,使用以下命令链接到/sites-enabled/来激活指令 :
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
4. 测试 Nginx 和 Nginx 反向代理
最后,我们需要运行 Nginx 配置测试并重启 Nginx 以检查其性能。键入以下命令以验证 Nginx 在 Linux 终端上是否正常运行:
服务 nginx 配置测试
服务 nginx 重启
请记住,如果您收到一个失败的测试,那很可能表明 Apache 没有正确设置。
结论
在 Linux 操作系统中设置 Nginx 反向代理有很多好处。它可以有效地提高性能并增强针对恶意软件的安全性。Nginx 反向代理配置是 Linux 终端中的一个简单过程。尽管有多种安装和配置它的方法,这完全取决于您的要求,但上面的教程简单易懂,可以帮助您开始设置反向代理。