docker+tomcat+nginx 实现反向代理多个tomcat

docker+tomcat+nginx 实现反向代理多个tomcat

一丶nginx反向代理多个tomcat服务器

1.什么是正向代理?

代理对象是客户端,服务端不用知道是哪个客户端访问的。

2.什么是反向代理?

代理对象是服务端,客户端不知道是哪个服务端接受的访问(访问同一个网址,实际访问的可能是不同的ip地址或者端口)

3.如何搭建一个简单的反向代理多个服务器的nginx?

VM虚拟机(CentOS 7)上搭建简单的 docker+tomcat+nginx

使用docker容器创建多个tomcat,tomcat作为服务器,nginx作为反向代理服务器。

创建多个tomcat 服务器

docker run --name tomcat01 -d -p 8088:8080 tomcat  //映射不同端口 开启多个tomcat
docker run --name tomcat02 -d -p 8089:8080 tomcat

创建nginx服务器

docker run --name myNginx -d -p 80:80 nginx

查看nginx容器id

docker ps -a 

进入容器

docker exec -it  容器id  /bin/bash

修改nginx配置文件 nginx.conf
容器中nginx.conf文件目录 /etc/nginx/nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
	upstream tomcats{                     //此处名字要与下面的 proxy_pass处名字对应
        server 192.168.31.99:8088 weight=2;		  //代理刚刚我们创建好的tomcat服务器,weight代表权重, 192.168.31.99是本虚拟机ip地址
        server 192.168.31.99:8089 weight=1;		  // 默认为1,
		
		#ip_hash; //设置对同一个ip地址的请求,返回同一个服务器代理对象,防止session丢失问题 #号代表注释内容 未开启
		#hash $request_uri; //设置对同一个url地址的请求,返回同一个服务器代理对象,多用于带缓存的							 //服务器url地址
	}

	server {
        listen 80;
        server_name test.shop.com;        //设置的域名,可在本机将host文件对应修改进行访问,例如添加:192.168.31.99  test.shop.com
        location / {
                proxy_pass http://tomcats;
                index index.html index.htm;
        }
	}


    #include /etc/nginx/conf.d/*.conf;
}

进入nginx容器操作的一些命令

修改完成进入容器中sbin目录 输入 ./nginx -s reload 重新加载配置文件启动命令

进入容器使用vim命令修改配置文件 需要安装vim命令,顺序如下:

apt-get install vim

apt-get update

apt-get install vim

复制/粘贴快捷键 shift+ctrl+C / shift+ctrl+V

最后在主机上访问:test.shop.com 查看结果

如果查看结果不明显,可以进入tomcat容器中修改ROOT目录下index.jsp首页的代码来区分tomcat端口

你可能感兴趣的:(Java)