东方通部署WAR包

项目打包

1.启动类

@RestController
public class Application  extends SpringBootServletInitializer {
	@Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder	application){
        return application.sources(Application.class);
    }
}

2.pom.xml

<!--        打包方式为war包	-->
<packaging>war</packaging>
<!--        &禁止springboot 内嵌tomcat启动	-->
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
</dependency>
<finalName>ROOT</finalName>
<plugins>
		<plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <!--如果想在没有web.xml文件的情况下构建WAR,请设置为false。-->
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
       	</plugin>
<plugins>

3.前端放resource/static目录下

docker部署东方通 东方通部署war_docker部署东方通

部署应用

(部署前确认目前虚拟主机、http通道默认的字符集,避免出现乱码,可参考问题点模块)

docker部署东方通 东方通部署war_spring_02


docker部署东方通 东方通部署war_虚拟主机_03


docker部署东方通 东方通部署war_虚拟主机_04

docker部署东方通 东方通部署war_虚拟主机_05

问题点

1.内存溢出

<!--	进入东方通部署目录	 -->
cd bin/
vi external.vmoptions
调整参数	 XX:MaxMetaspaceSize

2.遇到如下情况需调整参数

docker部署东方通 东方通部署war_ide_06


docker部署东方通 东方通部署war_ide_07

docker部署东方通 东方通部署war_ide_08

docker部署东方通 东方通部署war_spring_09


3.request请求参数解码出现乱码,修改参数和url解析默认编码即可,默认GBK

docker部署东方通 东方通部署war_java_10


docker部署东方通 东方通部署war_虚拟主机_11

部署多个应用

(部署前确认目前虚拟主机、http通道默认的字符集,避免出现乱码,可参考问题点模块)

1.通过创建domain的方式,相当于复制一个web服务
(建议采用该方式)

<!--	进入东方通部署目录	 -->
cd bin/
./domain.sh create 域名,例如:./domain.sh create zjtz_ex_domain
(端口规则,每创建一个domain,端口+1,即9061,
创建完成,根目录下找到domains文件夹,启动./startservernohub.sh
后续访问http://ip:9061/console部署即可)

2.通过多http通道的方式
(目前该方式部署没有问题,但存在多个应用公用一份日志文件的问题,还需要完善)

1.创建一个zjtz-ids-server,这里需要绑定接下来创建的http通道

docker部署东方通 东方通部署war_java_12


docker部署东方通 东方通部署war_docker部署东方通_13


2.创建一个http通道,重新指定端口、绑定第一步创建的zjtz-ids-server,其余参数与默认的server一致

docker部署东方通 东方通部署war_docker部署东方通_14


docker部署东方通 东方通部署war_spring_15


3.开始部署应用,指定第一步创建的zjtz-ids-server为虚拟主机即可

docker部署东方通 东方通部署war_docker部署东方通_16

重启服务

<!--	进入东方通部署目录	 -->
cd bin/
./stopserver.sh		停止服务
netstat -ano |findstr "端口号"		查看9060端口是否被占用,如果停服出现问题使用kill -9
./startservernohub.sh	启动服务