Nginx 的常见用途之一是将其设置为代理服务器,这意味着服务器接收请求,将它们传递给代理服务器,从它们检索响应,并将它们发送到客户端,下面我们就来说一说关于nginx服务器的使用教程?我们一起去了解并探讨一下这个问题吧!

nginx服务器的使用教程(配置简单的代理服务器)

nginx服务器的使用教程

Nginx 的常见用途之一是将其设置为代理服务器,这意味着服务器接收请求,将它们传递给代理服务器,从它们检索响应,并将它们发送到客户端。

我们将配置一个基本的代理服务器,它为来自本地目录的文件的图像请求提供服务,并将所有其他请求发送到代理服务器。在此示例中,两个服务器都将在单个 nginx 实例上定义。

首先,通过在 nginx 的配置文件中再添加一个 server 块来定义代理服务器,其内容如下:

server { # 监听 8080 端口 listen 8080; # 将请求映射到本地目录,例如:图片、js等等 root /data/up1; location / { # } }

这将是一个简单的服务器,它侦听端口 8080(以前,由于使用了标准端口 80,因此未指定 listen 指令)并将所有请求映射到本地文件系统上的 /data/up1 目录。创建此目录并将 index.html 文件放入其中。请注意,root 指令位于服务器上下文中。当用于服务请求的 location 块不包含自己的 root 指令时,使用此类 root 指令。

接下来,使用上一节中的服务器配置并对其进行修改,使其成为代理服务器配置。在第一个 location 块中,将 proxy_pass 指令与参数中指定的代理服务器的协议、名称和端口一起放置(在我们的示例中,它是 http://localhost:8080):

server { location / { proxy_pass http://localhost:8080; } # 将带有 /images/ 字符串的请求 URL 映射到 /data 目录 location /images/ { root /data; } }

我们将修改第二个 location 块,该块当前将带有 /images/ 前缀的请求映射到 /data/images 目录下的文件,使其与具有典型文件扩展名的图像请求相匹配。修改后的位置块如下所示:

# 使用正则表达式将 gif、jpg和png图片映射到 /data/images/ 目录 location ~ \.(gif|jpg|png)$ { root /data/images; }

该参数是一个正则表达式,匹配所有以 .gif、.jpg 或 .png 结尾的 URI。正则表达式应以 ~ 开头。相应的请求将映射到 /data/images 目录。

当 nginx 选择一个 location 块来服务请求时,它首先检查指定前缀的 location 指令,记住具有最长前缀的 location,然后检查正则表达式。如果与正则表达式匹配,则 nginx 选择此 location,否则,它选择之前记住的 location。

代理服务器的最终配置如下所示:

server { location / { proxy_pass http://localhost:8080/; } location ~ \.(gif|jpg|png)$ { root /data/images; } }

该 server 将过滤以 .gif、.jpg 或 .png 结尾的请求,并将它们映射到 /data/images 目录(通过将 URI 添加到 root 指令的参数)并将所有其他请求传递到上面配置的代理服务器。

要应用新配置,请按照前面所述向 nginx 发送重新加载信号,即 nginx -s reload

,