Nginx具有反向代理(注意和正向代理的区别)和负载均衡等特点。

   这次Nginx安装在 192.168.1.108 这台linux 机器上。安装Nginx 先要装openssl库,gcc,PCRE,zlib库等

Tomcat 安装在192.168.1.168 和 192.168.1.178 这两台机器上。客户端通过访问192.168.1.108 反向代理访问到

192.168.1.168 和 192.168.1.178 里Tomcat 部署的工程内容。

 

1.Linux 下安装Nginx (机器192.168.1.108)

安装openssl库。

 yum install -y openssl openssl-devel

 

 

 需要安装gccyum install gcc-c++    

 

   安装 PCRE    yum install -y pcre pcre-devel

 

 

  安装zlib库   yum install -y zlib zlib-devel

 

 

下载nginx:    wget http://nginx.org/download/nginx-1.13.0.tar.gz

装在 /usr/local/  

 

 

解压  tar -zxvf nginx-1.13.0.tar.gz

 

 

 

进入目录 运行 ./configure  产生makefile

 

 此时目录多出了 makefile

 

编译make

 

安装:make install

 

完成后 local 目录下 多了个 nginx

 

启动 nginx

进入sbin 目录  执行./nginx

 

查看启动结果

Window 访问 192.168.1.108  nginx 默认端口为80  

 

 

 

 

关闭 ./nginx  -s  stop

 

关闭后此时对应也无法访问

 

 

./nginx   -s  reload  可以在启动后重新加载配置文件 适合于在启动会修改了配置文件

 

 2.Linux 下安装Tomcat (192.168.1.168 和 192.168.1.178 机器)

安装过程很简单,不述说了。分别在另两台Linux 机器(192.168.1.168 和 192.168.1.178)安装Tomcat ,随便部署个工程nginxTest  一个内容是 1111.......  一个是22222.......

 

 此时访问的是不同的IP地址,还没用Nginx 配置进去当反向代理服务器。

 

3. Nginx当做反向代理服务器

   主要配置nginx.conf 里的内容

    a. 配置服务器组,在http{}节点之间添加upstream配置。 

    192.168.1.168:9090 和 192.168.1.178:9191 是另两台Linux 机器的Tomcat  (看上述2)

 

      upstream lxstest{

 

                server 192.168.1.168:9090;

 

                server 192.168.1.178:9191;

 

            }

 

 

  b. 修改nginx监听的端口号80,改为7777(随便改个都行,不改也行)

 

  server {

    listen       7777;

    ......

}

 

c. location{}中,利用proxy_pass配置反向代理地址;此处“http://”不能少,后面的地址要和第一步upstream定义的名称保持一致。(上述的是  lxstest,所以http://lxstest)

 

location / {

 

            root   html;

 

            index  index.html index.htm;

 

             proxy_pass http://lxstest;

 

        }

 

  上述修改完后,启动 192.168.1.108机器的Nginx

 

 

最后访问 192.168.1.108:7777/nginxTest   同一个地址出来不同的页面,说明一会儿访问的是192.168.1.168,一会儿访问的是192.168.1.178

 

 

 

 

 

 

http://192.168.1.108:7777  

等同于====   

等同于===== 

 

最后就会找到对应的Tomcat

再找到对应的nginxTest工程.