Linux中Nginx反向代理下的tomcat集群

时间:2020-12-11 18:25:23

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

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

1.Linux 下安装Nginx (192.168.1.108)

安装openssl库。

yum install -y openssl openssl-devel

Linux中Nginx反向代理下的tomcat集群

需要安装gcc:yum install gcc-c++

Linux中Nginx反向代理下的tomcat集群

安装 PCRE    yum install -y pcre pcre-devel

Linux中Nginx反向代理下的tomcat集群

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

Linux中Nginx反向代理下的tomcat集群

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

装在 /usr/local/  下

Linux中Nginx反向代理下的tomcat集群

 

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

Linux中Nginx反向代理下的tomcat集群

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

Linux中Nginx反向代理下的tomcat集群

此时目录多出了 makefile

Linux中Nginx反向代理下的tomcat集群

编译make

Linux中Nginx反向代理下的tomcat集群

安装:make install

完成后 local 目录下 多了个 nginx

Linux中Nginx反向代理下的tomcat集群

启动 nginx

进入sbin 目录  执行./nginx

Linux中Nginx反向代理下的tomcat集群

查看启动结果

Window 访问 192.168.1.108  nginx 默认端口为80

Linux中Nginx反向代理下的tomcat集群

Linux中Nginx反向代理下的tomcat集群

关闭 ./nginx  -s  stop

Linux中Nginx反向代理下的tomcat集群

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

Linux中Nginx反向代理下的tomcat集群

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

Linux中Nginx反向代理下的tomcat集群

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

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

Linux中Nginx反向代理下的tomcat集群

此时访问的是不同的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;

}

Linux中Nginx反向代理下的tomcat集群

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

server {

listen       7777;

......

}

Linux中Nginx反向代理下的tomcat集群

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

location / {

root   html;

index  index.html index.htm;

proxy_pass http://lxstest;

}

Linux中Nginx反向代理下的tomcat集群

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

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

Linux中Nginx反向代理下的tomcat集群

http://192.168.1.108:7777

等同于====   Linux中Nginx反向代理下的tomcat集群

等同于===== Linux中Nginx反向代理下的tomcat集群

最后就会找到对应的Tomcat

再找到对应的nginxTest工程.