zoukankan      html  css  js  c++  java
  • linux入门:设置代理服务器

    官方文档地址:http://nginx.org/en/docs/beginners_guide.html#static

    nginx最常用的一个功能是作为代理服务器。代理服务器接受请求并把请求传递给被代理的多个服务器,获取被代理服务器的相应然后发送给用户。下面将配置一个最基本的代理服务器,响应图片文件请求,并把所有的其他请求转发给被代理服务器服务器。两个服务器都将被定义为一个单独的nginx实例。

    1. 首先,通过增加server块,定义被代理服务器。如下面配置:
      service {
          listen 8080;
          root /pathto/data/upl;
      
          location / {
          }  
      }

      这样配置一个简单的服务器,监听8080端口(前提是这个端口还没有被listen指令指定监听过),并把所有请求映射到本地文件系统的/pathto/data/upl路径。创建这个文件路径并且放入index.html文件。注意,root指令需要放在server环境下。在对没有自己root指令的请求进行响应,且location块被选中时,location下的root指令才会被使用。

    2. 使用已经配置好的(http://www.cnblogs.com/Lissssssssss/p/8846719.html)服务,修改将其代理到上面的服务器中:在第一个location块中,添加proxy_pass指令后接协议,服务名,端口号使其作为代理服务。
      server {
          location / {
              proxy_pass http://localhost:8080;
          }
      
          location /images/ {
              root /pathto/data;
          }
      }

      然后修改第二个location块。第二个location原先是通过/images/前缀匹配,映射到本地文件系统的/pathto/data/images/路径下。现在将其修改为通过匹配请求图片的扩展名,将其映射到本地文件系统下。修改如下:

      location ~ .(gif|jpg|png)$ {
          root /pathto/data/images;
      }

      参数是一个正则表达式,匹配所有的以.gif   .jpg 或者 .png为结尾的URLs。正则表达式需要~为开头。对应的请求将会被匹配到/pathto/data/images路径下。
      当nginx选择一个location去服务一个请求时,它会首先检查确定的前缀,并且是最长前缀优先,然后才会去匹配正则表达式。如果有匹配的正则表达式,nginx选择对应的location,否则,它将会选择之前记住的location。

    3. 最终的配置如下:
      server {
          location / {
              proxy_pass http://localhost:8080/;
          }
      
          location ~ .(gif|jpg|png)$ {
              root /pathto/data/images;
          }
      }

      这样配置的服务,会过滤以.gif .jpg或者.png为结尾的请求,并且将其映射到/pathto/data/images本地文件系统路径(通过增加root指令的参数到URI上)。然后将其他所有的请求代理到代理服务器上。

  • 相关阅读:
    vijosP1360-八数码问题
    android——卡片式布局
    android ——悬浮按钮及可交互提示
    android ——滑动菜单
    android ——Toolbar
    android ——多线程编程
    android ——调用摄像头拍照和相册
    android ——通知管理
    android——实现跨程序访问数据
    android——SQLite数据库存储(操作)
  • 原文地址:https://www.cnblogs.com/Lissssssssss/p/8848002.html
Copyright © 2011-2022 走看看