# 如何设置Nginx反向代理

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/18623.html | 发布：2023-03-20 | 更新：2023-03-20 | 分类：IDC云库、服务器vps推荐

在 Linux 操作系统中，反向代理充当主机（客户端）和服务器之间的链接。它接收客户端请求并将它们传递给其他服务器，最后将服务器的响应传递给客户端，就好像它们来自代理服务器本身一样。

在 Linux 操作系统中，反向代理充当主机（客户端）和服务器之间的链接。它接收客户端请求并将它们传递给其他服务器，最后将服务器的响应传递给客户端，就好像它们来自代理服务器本身一样。在本教程中，我们将向您展示什么是Nginx反向代理以及如何在您的VPS上设置它！

 

![如何设置Nginx反向代理](https://www.mfisp.com/wp-content/uploads/2022/10/af2427fd01687e951b5ec73642504cbd-1.png)

 

客户端和服务器不断交换信息以高效工作。通常，反向代理由网络服务器使用。反向代理或网关在客户端看来就像一个普通的 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 后，我们可以继续执行以下步骤：

 

![如何设置Nginx反向代理](https://www.mfisp.com/wp-content/uploads/2022/10/7c01473efade9958fd358fb649071947-1.png)

 

### 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 终端中的一个简单过程。尽管有多种安装和配置它的方法，这完全取决于您的要求，但上面的教程简单易懂，可以帮助您开始设置反向代理。

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
