阿里云(三) 一个tomcat9部署多个项目且用nginx绑定域名且实现gradle/maven远程部署

1.效果

www.cthlizi.cn
wx.cthlizi.cn
memory.cthlizi.cn
blog.cthlizi.cn

四个域名对应四个项目,四个项目使用一个tomcat9部署,四个项目可以单独远程部署(重启不影响其他项目)

2.准备
申请好域名,创建四个子域名,就是使用阿里云的解析出四个域名
在阿里云安全组开放四个端口
对应关系:

www.cthlizi.cn    8088
wx.cthlizi.cn   8085
memory.cthlizi.cn  8086
blog.cthlizi.cn  8087

3.nginx配置
nginx.conf

	upstream cthlizi {
		server localhost:8088;
	}
	
	upstream wx.cthlizi {
		server localhost:8085;
	}
	
	upstream memory.cthlizi {
		server localhost:8086;
	}
	
	upstream blog.cthlizi {
		server localhost:8087;
	}
	
    server {
        listen       80;
        server_name  www.cthlizi.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
			proxy_pass http://cthlizi/gmweb/;
			proxy_set_header  X-Real_IP  $remote_addr;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        } 
    }
	
	server {
        listen       80;
        server_name  wx.cthlizi.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
			proxy_pass http://wx.cthlizi/testWechat/;
			proxy_set_header  X-Real_IP  $remote_addr;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        } 
    }
	
	server {
        listen       80;
        server_name  memory.cthlizi.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
			proxy_pass http://memory.cthlizi/memory/;
			proxy_set_header  X-Real_IP  $remote_addr;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        } 
    }
	
	server {
        listen       80;
        server_name  blog.cthlizi.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
			proxy_pass http://blog.cthlizi/blog/;
			proxy_set_header  X-Real_IP  $remote_addr;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        } 
    }

很简单就是四个端口的监听服务

4.tomcat9配置
server.xml配置四个service
注意service name:Catalina, Catalina1,Catalina2,Catalina3
Connector端口号 8088/8009 8085/8010 8086/8011 8087/8012
Engine name:Catalina, Catalina1,Catalina2,Catalina3
Host 中appBase:webapps,webapps1,webapps2,webapps3


    
    
    
      
        
      

      
        
      
    
  
  
    
    
    
      
        
      

      
        
      
    
  
  
    
    
    
      
        
      

      
        
      
    
  

conf下新增文件夹,空的,但是命名要对应Engine name
阿里云(三) 一个tomcat9部署多个项目且用nginx绑定域名且实现gradle/maven远程部署_第1张图片
tomcat下新增webapps文件夹,命名和appBase对应
在这里插入图片描述
在其他webapps中放入项目war包和manager文件夹(从原webapps中复制,远程部署用)
阿里云(三) 一个tomcat9部署多个项目且用nginx绑定域名且实现gradle/maven远程部署_第2张图片

4.远程部署
做完前三步,启动tomcat和nginx就可以使用域名访问多个项目了
要远程部署需要先配置manager权限
gradle+cargo远程部署的看这个后半部分

使用maven的话可以使用tomcat7-maven-plugin来实现远程部署
pom.xml中


        memory
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.1
                
                    http://ip:8086/manager/text
                    servername
                    /memory
                
            
        
    

这边server要对应本地maven中的配置
本地maven 3.3的setting.xml中
用户名密码就是自己在tomcat配置manager权限时设置的


		  servername
		  admin
		  admin123
	

然后idea中先war后redeploy
阿里云(三) 一个tomcat9部署多个项目且用nginx绑定域名且实现gradle/maven远程部署_第3张图片

你可能感兴趣的:(阿里云(三) 一个tomcat9部署多个项目且用nginx绑定域名且实现gradle/maven远程部署)