Nginx学习笔记03虚拟机与代理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx学习笔记03虚拟机与代理相关的知识,希望对你有一定的参考价值。

 

1.1. 虚拟机

使用nginx的配置文件中的server结点,可以很方便的在一个nginx实例中支持多个虚拟机。

前提条件:主机有多个域名。

本次试验中用到的主机192.168.197.101有三个域名:

ng.coe2coe.me

计划指向的网站目录为nginx目录下的html目录

 

ng101a.coe2coe.me

计划指向的网站目录为nginx目录下的host目录下的ng101a.coe2coe.me目录。

首页内容中含有主机名称ng101a.coe2coe.me

 

ng101b.coe2coe.me

计划指向的网站目录为nginx目录下的host目录下的ng101b.coe2coe.me目录。

首页内容中含有主机名称ng101b.coe2coe.me

 

nginx.conf配置如下:

  server {

        listen       8000;

        server_name  ng.coe2coe.me;

 

        location / {

            root   html;

            index  index.html;

        }

   }

 

   server {

        listen       8000;

        server_name  ng101a.coe2coe.me;

 

        location / {

            root   host/ng101a.coe2coe.me;

            index  index.html;

        }

    }

 

    server {

        listen       8000;

        server_name  ng101b.coe2coe.me;

 

        location / {

            root   host/ng101b.coe2coe.me;

}

 

执行nginx -s reload后进行测试:

ng.coe2coe.me

 技术分享

 

ng101a.coe2coe.me

 技术分享

ng101b.coe2coe.me

 技术分享

 

1.2. 代理

location结点使用proxy_pass配置项可以将访问nginx服务器的http请求转接到其它http服务器并将该服务器的相应结果返回给浏览器。

以下配置中,将访问.jpg图片的请求转发到tomcat101b.coe2coe.me服务器,将/hello/开头的请求转发到tomcat101a.coe2coe.me服务器。二者皆为tomcat服务器。

 

   server {

        listen       8000;

        server_name  ng.coe2coe.me;

 

        location / {

            root   html;

            index  index.html;

        }

 

     location  ~ \\.jpg$ {

            proxy_pass http://tomcat101b.coe2coe.me:8081;

      }

 

        location ~ ^/hello/ {

             index  index.jsp;

             proxy_pass http://tomcat101a.coe2coe.me:8080;

       }

 

    }

 

运行测试:

tomcat101atomcat101b服务器上的首页内容重点是:显示一行文字:

host:tomcat server atomcat server b

显示test.jpg图片。

图片中显示的是一行类似的文字。

 

 

(1)单独访问tomcat101a服务器。

 技术分享

 

(2)单独访问tomcat101b服务器:

 技术分享

(3)使用Nginx访问:

 技术分享

 

 

 

 

从上述结果可以看到,nginx成功的将test.jpg图片请求转接到了tomcat101b.coe2coe.me服务器上,而将/hello/应用其它页面转接到了tomcat101a.coe2coe.me服务器上了。这说明nginx的代理功能的基本配置成功。

 

以上是关于Nginx学习笔记03虚拟机与代理的主要内容,如果未能解决你的问题,请参考以下文章

Nginx学习笔记22TCP代理

Nginx学习笔记

Nginx学习笔记

Nginx学习笔记

Nginx学习笔记

Nginx学习笔记