东方通tongweb容器自动部署java应用程序

东方通TongWeb前后端应用部署 新增http通道,通道名称可以设置为前端服务的名称,监听端口设置为前端服务的端口号,虚拟主机选和后端http通道一样的虚拟主机,重定向端口设置为后端的端口,然后点击下一步后面都是默认配置,直接完成配置。打开web容器配置里的http通道管理,新增http通道,通道名称可以设置为后端服务的名称,监听端口设置为后端服务的端口号,虚拟主机选择刚新建的虚拟主机,然后点击下一步后面都是默认配置,直接完成配置。点击部署应用按钮,部署前端应用,文件选择本地文件,选择前端项目dist文件夹中的war包,点击开始部署。 阅读详情

java应用程序部署到东方通tongweb服务中全自动化脚本,减少人工操作、降底出错机率。

实现方案:

        采用Docker 挂载目录部署方式,为不同java应用程序启动一个 tongweb docker 镜像,并 挂载当前java应用程序对应相关目录及tongweb配置。

脚本能力:
        自动化脚本实现war 包自动解压。
        支持应用配置文件与war包分离 (配置存放于war包同级目录下config目录)。
        不同java应用程序隔离互不应响。
        命令操作:resetup-重新部署、stop-停止、start-启动、restart-重启

以下是详细实现步骤

java spring boot应用打成wap包部署到东方通tongweb 实现自动化部署脚本。

1. mvn 打包排除 tomcat

<build>
    <finalName>${project.name}</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <packagingExcludes>
                    WEB-INF/lib/spring-boot-starter-tomcat-*.jar,
                    WEB-INF/lib/tomcat-embed-*.jar
                </packagingExcludes>
            </configuration>
        </plugin>
    </plugins>
</build>

2. 设定打包类型

    <packaging>war</packaging>

3. 准备tongweb7.0 docker 镜像

      /root/myproject/  #项目目录
      /root/myproject/tongweb  #是本地镜像包文件存放目录
      /root/myproject/myapp   #应用所在目录
      /root/myproject/myapp/package   #应用部署包所在目录


4. 准备脚本
   1) 启动镜像脚本 :
  /root/myproject/deploy-tongweb-by-docker.sh

#!/bin/sh

DOCKER_IMAGE="tongweb7:v1.0.0" #这里镜像名称 跟据实际名称版本做相应修改
TongWebPost=$1 # TongWeb主机上对外开放的端口号
CONTAINER_PORT=$2 # 容器内部端口号
HOST_PORT=$3 # 应用在主机上对外开放的端口号
AppName=$4 # 应用名称
WebConfig=$5  # tongweb应用部署配置
AppPath=$6  # 应用挂载原路径
currentDir=$(dirname $0)

if [ "${currentDir}" = "." ] ; then
        currentDir=$(pwd)
fi

if [ "${currentDir}" = ".." ] ; then
        currentDir=$(dirname $(pwd))
fi

HOST_IP=$(ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v 172.17.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:")
echo 'HOST_IP='${HOST_IP}

TongWebRoot=/app/tongweb/   #容器内 tongweb服务安装路径

if [ -z "$(docker images -q ${DOCKER_IMAGE})" ]; then
  docker load -i ${currentDir}/tongweb/tongweb7-v1.0.0.tar.gz  #这里是本地镜像包文件名称 跟据实际名称版本做相应修改
  sleep 2s
fi

AppLogPath=$(dirname ${AppPath})/logs   #应用日志挂载路径 (容器内路径/data/logs/ 需按应用实际情况做修改)

if [ ! -d "${AppLogPath}" ]; then
  mkdir -p ${AppLogPath}
fi

if [ ! -d "${AppLogPath}/tongweb" ]; then
  mkdir -p ${AppLogPath}/tongweb
fi

#如应用是nacos服务,必须指定环境变量 spring.cloud.nacos.discovery.ip 为主机IP
#同一主机部署多应用时 可指定环境变量server.port替换应用内配置
#容器内路径/data/logs/ 需按应用实际情况做修改
#容器内路径/usr/share/tongweb/ 与tongweb.xml配置文件中的 web-app.location配置是相关联的。
docker run -it -p ${TongWebPost}:9060 \
               -p ${HOST_PORT}:${CONTAINER_PORT}  \
               -d -v ${WebConfig}:${TongWebRoot}conf/tongweb.xml \
               -v ${currentDir}/license.dat:${TongWebRoot}license.dat \
               -v ${AppPath}:/usr/share/tongweb/ \
               -v ${AppLogPath}:/data/logs/ \
               -v ${AppLogPath}/tongweb:${TongWebRoot}/logs/ \
               -m 4096M \
               -e spring_cloud_nacos_discovery_ip=${HOST_IP} \
               -e server_port=${CONTAINER_PORT} \
               --name=${AppName} \
               --entrypoint="${TongWebRoot}bin/startserver.sh" \
               ${DOCKER_IMAGE}

2).准备tongweb应用部署配置文件模版

/root/myproject/myapp/tongweb_template.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tongweb>
    <auto-deploy enabled="true" jsp-compile="false" request-parameters-lost-validation="false" dir="${tongweb.base}/autodeploy" check-interval="3000" vs-name="server" app-secret-level="1"/>
    <hot-deploy enabled="true" watched-resource="WEB-INF/web.xml,MATA-INF/application.xml"/>
    <apps>
        <web-app id="console" name="console" original-location="${tongweb.upload}/console" location="${tongweb.sysapp}/console" context-root="/console" vs-names="admin" is-directory="true" enabled="true" description="console" deploy-order="1" object-type="sys" jsp-compile="false" request-parameters-lost-validation="false" dtd-validate="false" is-autodeploy="false" delegate="false"/>
        <web-app id="heimdall" name="heimdall" original-location="${tongweb.upload}/heimdall" location="${tongweb.sysapp}/heimdall" context-root="/heimdall" vs-names="admin" is-directory="true" enabled="true" description="heimdall" deploy-order="1" object-type="sys" jsp-compile="false" request-parameters-lost-validation="false" dtd-validate="false" is-autodeploy="false" delegate="false"/>
        <web-app id="sysweb" name="sysweb"
东方通Tongweb企业版7.0.4.9制作docker镜像(安装教程) 东方通企业版制作docker镜像 阅读详情

相关推荐

国产化中间件东方通TongWeb环境安装部署(图文详解)

本文是东方通中间件TongWeb的详细安装图解。提示:以下是本篇文章正文内容,下面案例可供参考遇到其他问题欢迎一起交流,一起进步。中国政府一直致力于促进国内产业的发展和国产化进程。作为全球第二大经济体,中国政府部门在推动国产化方面发挥着至关重要的作用。

L08130421的博客 1万+

国产化东方通TongWeb

后台启动:不会打日志,想看日志需要ctrl+c后再输入tail -f nohup.out(输入ctrl+c不影响东方通),如果最后不加“&”,退出当前服务器连接的话,东方通也会停止。【Web 容器配置】-【Https 通道管理】:点开tong-http-listener,更新URL编码格式为UTF-8,parse-body-methods勾选全部类型。注:东方通指定了系统访问的端口号,端口号是东方通控制台的【WEB容器配置】-【Https 通道管理】-【tong-http-listener】的。

weixin_47276069的博客 4698

东方通TongWeb(外置容器)部署spring boot项目(jar包改war包)

打开web容器配置里的虚拟主机管理,新增虚拟主机,主机名称没有限制可以用项目名称,主机别名可以设置成前后端所在的服务器ip,方便后面访问,通道列表可以先随便选一个,点击保存按钮添加主机完成。③进入dist包,然后在这个dist目录层级下输入cmd ,打开命令窗口后输入以下命令把前端dist包也打成一个war包,项目名称随便取。配置一个http通道,这个通道就类似于nginx的代理配置 ,通道名字自己取,监听端口就是前后端公用的监听端口,虚拟主机就是刚才创建的,其他的一直下一步再点完成就可以了。

m0_74824661的博客 3181

Java 服务接入「东方通(tongweb)」

调研东方通(tongweb)中间件,将 Authing 核心 Java 服务接入东方通(tongweb)替换 springboot tomcat。

qq798280904的博客 1万+

信创那些事儿——Spring Boot中集成东方通中间件(TongWeb)

在Spring Boot中集成东方通中间件(如TongWeb作为Servlet容器)通常涉及几个步骤,但需要注意的是,TongWeb本身是一个独立的Java EE应用服务器,而不是像Tomcat那样可以直接嵌入到Spring Boot应用中的中间件。因此,集成通常意味着将Spring Boot应用打包为WAR文件并部署到TongWeb服务器上。

来北欧写代码 6475

uniapp 使用摄像头 live-pusher (APP)

uniapp 中开发 app 时使用live-pusher踩过的坑

随身笔记 1万+

深入NAND Flash信号与接口:结合ONFI 5.0协议,聊聊DBI、ODT和差分信号到底在解决什么实际问题

本文深入探讨了NAND Flash信号与接口设计,结合ONFI 5.0协议,详细解析了DBI、ODT和差分信号等技术如何解决高速数据传输中的信号完整性问题。通过实际案例和数据,展示了这些技术在降低功耗、减少噪声和提升抗干扰能力方面的显著效果,为存储工程师提供了宝贵的实践参考。

weixin_33736649的博客 337

ESP32 WiFi自平衡小车硬件与PID控制实战

自平衡小车是典型的嵌入式实时反馈控制系统,其核心依赖姿态感知(如MPU6050)、电机驱动(如L298N)与闭环控制算法(如PID)的协同。系统通过IMU采集俯仰角,经互补滤波融合处理,再由PID控制器实时计算PWM输出,驱动直流电机产生恢复力矩;WiFi模块(ESP32内置)则提供远程遥控接口,实现AP模式下的Web指令交互。该架构兼具硬实时性(毫秒级采样与响应)与软实时性(HTTP服务),广泛应用于机器人教学、智能小车开发及边缘控制原型验证。本文围绕ESP32平台,详解传感器接口、驱动电路设计、PID抗

weixin_42509513的博客 389

PCB布线避坑指南:晶振布局的5个致命错误(附正确示例图)

本文深入解析PCB布线中晶振布局的5个致命错误,包括底层布线、电容布局、地平面处理等关键问题,并提供实战解决方案。通过真实案例和量化数据,帮助硬件开发者避免常见陷阱,提升电路稳定性和性能。特别针对晶振这一高敏感元件,给出布线参数黄金法则和三维避让原则。

weixin_29215391的博客 424

智能优化算法-北方苍鹰优化算法(NGO)(附源码)

北方苍鹰优化算法 (Northern Goshawk Optimizer, NGO) 是一种基于群体智能的元启发式优化算法,它模拟了北方苍鹰(Northern Goshawk)的捕食行为、领地行为以及社交互动,用于解决复杂的优化问题。总之,NGO作为一种新颖的优化算法,在处理复杂优化问题方面展现出了潜力。随着进一步的研究和应用,NGO有望成为解决实际问题的有效工具。

w971656545的博客 1355

【2024遥感应用组一等奖】基于时空融合和水量平衡法的若尔盖高原水源涵养功能评价

考虑到水源涵养的概念和尺度特征、数据的可获得性、模型的模拟精度等,构建了一种基于遥感、气象和水量平衡原理的草原湿地水源涵养评价方法,估算若尔盖湿地近23年(2000-2022)来的水源涵养量。若尔盖湿地是我国黄河源区的重要水源地,所以本研究以若尔盖湿地的水源涵养功能评估为科学问题,基于遥感数据、GIS数据等,利用水量平衡原理,发展计算简单、便捷、数据易获取的“水源涵养估算方法”,科学估算若尔盖湿地水源涵养服务量,探究其时空动态变化趋势及其影响因素;公式中,Z1和Z2为两个不同高度面的高度,u为摩擦速率;

JData_Engineer的博客 236

【GlobalMapper精品教程】070:专题地图制作完整操作教程

与其它GIS软件一样,Globalmapper也可以制作出漂亮的地图,本文讲解专题地图制作完整操作流程。

智慧空间实验室 3736

零基础做AI漫剧:Kimi K2.5写本 + Flux生图 + Seedance 2.0动效的保姆级教程

很多零基础小伙伴想做AI漫剧,却被“写剧本、画分镜、做动效”三大难题劝退——不会写剧情、不会画插画、不会做动态,觉得门槛太高。其实不用慌!今天就给大家带来保姆级教程,全程用Kimi K2.5(写剧本)、Flux(生分镜图)、Seedance 2.0(做动效)三个工具,不用专业技能,不用手动绘画,零基础也能在1小时内做出1分钟完整AI漫剧,全程步骤拆解、示例齐全,跟着做就能出片!

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 3002

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 控制 Flash Player 的 JavaScript 方法一览表
下一篇: 机器阅读自动识别关键词程序
惠都
博客等级 码龄18年 9粉丝 2原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值