springboot项目东方通TongWeb改造以及部署

news2024/10/12 18:14:58

SpringBoot东方通TongWeb改造以及部署

文章目录

  • SpringBoot东方通TongWeb改造以及部署
    • 1、替换springboot中的tomcat为 (东方通)tongweb,打包
      • 1.1 排除springboot中内置的tomcat依赖,设置打包方式为war包
      • 1.2 修改配置文件的配置
        • 1.2.1查看端口是否被占用
        • 1.2.2 创建文件存放地址并修改yml配置
        • 1.2.3 查看是否安装redis并修改配置
        • 1.2.4 修改达梦驱动连接
      • 1.3 后端Maven项目打包
      • 1.4 前端项目打包
        • 1.4.1 前端修改打包
    • 2、安装东方通
    • 3、linux安装达梦数据库
    • 4、使用tongweb进行部署
      • 4.1 配置一台虚拟主机
      • 4.2 配置http通道
      • 4.3 部署前后端应用
        • 4.3.1 部署前端应用
        • 4.3.2 部署后端应用

前言:

基于若依框架的前后端分离项目的国产化达梦数据库改造的详细步骤可以参考我的另一篇文章:

若依以及flowbale达梦国产化数据库改造_全网最细_厌世小晨宇yu.的博客-CSDN博客

1、替换springboot中的tomcat为 (东方通)tongweb,打包

1.1 排除springboot中内置的tomcat依赖,设置打包方式为war包

重点:下面这种方式是打war包部署的方式,打jar包用其他方式

用war包部署的话不需要添加TongWeb的依赖,直接在tongweb的控制台进行可视化部署。通过这种方式,你的Spring Boot应用可以在外部的Servlet容器中运行,而不需要内嵌的Tomcat。(反正把和tomcat有关的依赖全部干掉)

<!-- SpringBoot Web容器 -->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
   <!--排除自带的tomcat依赖-->
   <exclusions>
       <exclusion>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-tomcat</artifactId>
       </exclusion>
   </exclusions>
</dependency>

1.2 修改配置文件的配置

数据库连接配置,文件存放位置,redis连接配置等,配置文件修改完再打包。(这个和一般的boot项目不同,一般项目是把配置文件提取出来放在jar同一层级可随时修改。)

重点:使用tongweb部署是用的国产化服务器的,所以不能用nginx,但是tongweb可以替代、不用nginx也可以部署。

1.2.1查看端口是否被占用

这里有一点要注意的是首先在服务器查看端口(包括后端和前端的端口)是否被占用了,以免又要重新打包。用以下命令查看,这里生产环境前后端共用一个端口,前端打包是不能配置端口的,和nginx的代理部署方式也差不多,nginx是靠拦截前端的请求路径前缀转发给后端的,下面会详细讲解这些问题。

sudo lsof -i :端口号

这里8080端口已经被占用了,所以后面配置tongweb的http通道的时候就得注意配置别的端口。(提前讲解,在我看来tongweb的通道就类似于nginx的代理配置)

1.2.2 创建文件存放地址并修改yml配置

先到服务器新建文件存放地址,这里就对应着项目文件的上传地址。

mkdir -p /ruoyi/uploadPath
1.2.3 查看是否安装redis并修改配置
ps -ef |grep redis

查看redis是否设置了密码

进入redis的conf文件查看
vim redis.conf
查看requirepass
输入下面的命令查找配置
/requirepass
按下 n 键:跳到下一个匹配项。
按下 N 键:跳到上一个匹配项。

然后修改yml中的redis的配置。

1.2.4 修改达梦驱动连接

根据服务器地址修改yml的达梦驱动连接配置。不会修改配置的可以参考我的另一篇文章

若依以及flowbale达梦国产化数据库改造_全网最细_厌世小晨宇yu.的博客-CSDN博客

备注:后端yml中的context-path配置为 / ,端口对应着后面tongweb配置的监听端口,真正部署前后端公用一个端口都是由后面设置的tongweb的通道的监听端口决定的。

1.3 后端Maven项目打包

clean -> compile -> package

1.4 前端项目打包

1.4.1 前端修改打包

前端这里打包会麻烦一点,有几个细节得注意

(1)前端的.env.production就是对应的生产打包前端向后端发起请求的地址的前缀,也对应着tongweb部署的后端应用的部署前缀,后端的yml应用前缀设置为/就好了。

piPwn5n.png

piPwAKS.png

(2)前端生产环境打包是配置不了端口的。打包命令可以参考下面的

  1. 首先 在项目目录下面npm run build:prod 打成dist包(这里前端打包的命令就是参考项目package.json的script命令)

2.进入dist路径下面,在这里新建一个WEB-INF文件夹,然后在文件夹里面放入一个web.xml文件,用来解决tongweb部署404问题。如下

piPwGb4.png

web.xml 文件内容

<web-app>
    <error-page>
        <error-code>404</error-code>
        <location>/index.html</location>
    </error-page>
</web-app>

3.进入dist包,然后在这个dist目录层级下输入cmd ,打开命令窗口后输入以下命令把前端dist包也打成一个war包,项目名称随便取。(这个war包打完会在dist文件夹里面)

jar -cvf 项目名称.war * 

打完的两个war包放在本地主机留着,后面tongweb可视化部署会用到。

2、安装东方通

实际项目tongweb安装是需要收费的,需要证书,一般企业会给你安装好,如果已经安装好了就跳过这个步骤。注意下面写的tongweb的默认访问地址、用户名、密码就行。

东方通的安装包及证书(根据证书修改linux系统的时间)

东方通的安装包链接: https://pan.baidu.com/s/1Wi17PjtKytLPQyrgOhIaOQ

提取码: v835

1.把安装的bin文件放到任意目录下,我习惯放在/usr/local,创建一个目录存放安装包

cd /usr/local
mkdir tongweb

2.把安装包上传到tongweb目录下然后运行安装命令

sh /usr/local/tongweb/Install_TW6.1.7.3_Enterprise_Linux.bin -i console

3.选择安装语言
4.通过许可协议
5.选择安装模式(生产、开发模式)
6.选择jvm(jdk)
7.选择安装目录
8.选择链接位置(可以选不创建)
9.浏览预安装摘要
10.设置端口,默认端口一直enter即可
11.安装完成,enter退出

12.把license.dat放到tongweb安装的根目录,如果文件名带日期“license_20210513.dat”记得去掉日期,改为“license.dat”。并执行下面的命令修改系统时间为 2020-07-01 12:00:00

date --set="2020-07-01 12:00:00"

13.运行bin目录下startserver.sh文件

sh startserver.sh

14.访问

访问地址:http://localhost:9060/console/rest
默认用户名:twnt,密码:twnt123.com

3、linux安装达梦数据库

这里一般实际项目是已经安装好了达梦数据库的。可以直接用达梦数据库的迁移工具把本地的达梦数据库或者mysql数据库迁移到服务器上的数据库,只要在同一局域网访问的通就可以直接迁移。

迁移详情可以参考我的另一篇文章

若依以及flowbale达梦国产化数据库改造_全网最细_厌世小晨宇yu.的博客-CSDN博客

这里首先新建数据库用户TRADING_CENTER,用户名和密码也是 TRADING_CENTER。然后进行迁移,迁移选择DM到DM就可以了。

4、使用tongweb进行部署

4.1 配置一台虚拟主机

打开web容器配置里的虚拟主机管理,新增虚拟主机,主机名称没有限制可以用项目名称主机别名可以设置成前后端所在的服务器ip,方便后面访问,通道列表可以先随便选一个,点击保存按钮添加主机完成。记得添加property属性,防止后面多次部署后会出现内存溢出的问题。

cacheMaxSize   5120000
cachingAllowed  true

piP0Yy8.png

piP0hk9.png

4.2 配置http通道

配置一个http通道,这个通道就类似于nginx的代理配置 ,通道名字自己取,监听端口就是前后端公用的监听端口,虚拟主机就是刚才创建的,其他的一直下一步再点完成就可以了。

piPBZhn.png

4.3 部署前后端应用

4.3.1 部署前端应用

选择前端的本地主机的war包

前端应用的前缀设置为/ , 然后下一步

选择刚才创建的虚拟主机,再下一步,完成。

这个时候前端应该就已经部署好了,但是后端还没部署,所以没有验证码。

我这里有配置单点登录,所以会收到token后向后端发起一个登录请求,根据实际需求来改。

4.3.2 部署后端应用

前面的步骤和部署前端应用一样,唯一要注意的就是,后端得请求前缀得改成前端得生产环境配置文件得请求前缀

下一步,选择刚才创建得虚拟主机。完成。

到这里就部署完成了!!

如果部署有一些报错可以参考下面的文章

东方通部署工程- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1108761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轮转数组[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个整数数组nums&#xff0c;将数组中的元素向右轮转k个位置&#xff0c;其中k是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,…

VMware安装银河麒麟高级服务器操作系统V10

目标 VMware安装银河麒麟高级服务器操作系统V10背景介绍环境准备安装步骤配置VM虚拟机系统安装 VMware安装银河麒麟高级服务器操作系统V10 背景介绍 近期&#xff0c;随着国产信创的持续发热和大众关注度的上升&#xff0c;我们公司决定与时俱进&#xff0c;针对国产技术趋势…

【使用OpenCV进行目标分割与计数的代码实例详解】

文章目录 概要实例一&#xff1a;硬币分割计数实例二&#xff1a;玉米粒分割计数 概要 在当今数字图像处理领域&#xff0c;图像分割技术是一项至关重要的任务。图像分割旨在将图像中的不同目标或区域准确地分开&#xff0c;为计算机视觉、图像识别和机器学习等领域提供了坚实…

javascript/python 笔记: folium feature group自动切换

1 python部分 python部分只能是静态的结果 1.1 导入库 import folium import math 1.2 数据 cell_lst表示基站位置&#xff0c;location_lst表示 用户实际位置&#xff08;均为伪数据&#xff09; cell_lst[[1.341505, 103.682498],[1.342751, 103.679604],[1.341505, 10…

【微信小程序】自定义组件布局会议OA其他页面(附源码)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《微信小程序开发实战》。&#x1f3af;&#x1f3a…

如何为 Elasticsearch 创建自定义连接器

了解如何为 Elasticsearch 创建自定义连接器以简化数据摄取过程。 作者&#xff1a;JEDR BLASZYK Elasticsearch 拥有一个摄取工具库&#xff0c;可以从多个来源获取数据。 但是&#xff0c;有时你的数据源可能与 Elastic 现有的提取工具不兼容。 在这种情况下&#xff0c;你可…

推荐 3 个国外的自由职业者/兼职网站,大家有空可以去淘淘金

推荐 3 个国外的自由职业者/兼职网站&#xff0c;大家有空可以去淘淘金 1. Upwork 这个是全球最大的外包网站之一,很多知名公司都会在这里找外包员工 upwork.com 2. fiverr.com 这个平台也是侧重于技能变现&#xff0c;除了专业的职业技能&#xff0c;还有很多稀奇古怪的…

SpringCloud之Ribbon负载均衡解读

目录 基本介绍 概述 LoadBalanced理解 简单源码解读 1&#xff09;LoadBalancerIntercepor 2&#xff09;LoadBalancerClient 3&#xff09;负载均衡策略IRule 4&#xff09;总结 负载均衡策略 负载均衡策略 自定义负载均衡策略 基本介绍 概述 Ribbon是Netflix发布…

Nginx集群负载均衡配置完整流程

今天&#xff0c;良哥带你来做一个nginx集群的负载均衡配置的完整流程。 一、准备工作 本次搭建的操作系统环境是win11&#xff0c;linux可配置类同。 1&#xff09;首先&#xff0c;下载nginx。 下载地址为&#xff1a;http://nginx.org/en/download.html 良哥下载的是&am…

浅谈余压监控系统在住宅小区的应用方案

【摘要】&#xff1a; 本文分析了火灾发生时人员伤亡的主要原因——烟雾&#xff0c;并针对该原因提供切实可靠的系统应用解决方案&#xff0c;并通过具体案例&#xff0c;从设计依据、产品选型、系统组网、现场安装等方式介绍余压监控系统&#xff0c;希望可以在火灾发生时较大…

如何使用前端绘图库(D3.js、Chart.js等)?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

紫光同创FPGA实现PCIE测速试验,提供PDS工程和Linux QT上位机源码和技术支持

目录 1、前言免责声明 2、我这里已有的 GT 高速接口解决方案3、设计思路框架PCIE硬件设计PCIE IP核添加和配置驱动文件和驱动安装QT上位机和源码 4、PDS工程详解5、上板调试验证并演示6、福利&#xff1a;工程代码的获取 紫光同创FPGA实现PCIE测速试验&#xff0c;提供PDS工程和…

spring 提前编译:AOT

文章目录 AOT概述GraalvmNative Image演示Native Image构建过程GraalVM安装&#xff08;1&#xff09;下载GraalVM 安装C的编译环境 Native Image构建 AOT概述 JIT与AOT的区别 JIT和AOT 这个名词是指两种不同的编译方式&#xff0c;这两种编译方式的主要区别在于是否在“运行时…

vue源码笔记之——响应系统

vue是一种声明式范式编程&#xff0c;使用vue者只需要告诉其想要什么结果&#xff0c;无需关心具体实现&#xff08;vue内部做了&#xff0c;底层是利用命令式范式&#xff09; 1. reactive为什么只能操作对象&#xff0c;对于基本数据类型&#xff0c;需要用ref&#xff1f; …

Nginx 代理

目录 正向代理 反向代理 负载均衡 负载均衡的工作原理 优势和好处 算法和策略 应用领域 Nginx 的反向代理 应用场景 在网络通信中&#xff0c;代理服务器扮演着重要的角色&#xff0c;其中正向代理和反向代理是两种常见的代理服务器模式。它们在网络安全、性能优化和…

vue3后台管理系统之pinia及持久化集成使用

安装依赖 pnpm i pinia 在src目录下创建store 创建大仓库 //仓库大仓库 import { createPinia } from pinia //创建大仓库 const pinia createPinia() //对外暴露&#xff1a;入口文件需要安装仓库 export default pinia 全局注册pinia 配置用户仓库pinia管理数据 // 创建用…

JavaSE入门---认识Java数组

文章目录 一. 数组的基本概念1.1 为什么要使用数组&#xff1f;1.2 什么是数组&#xff1f;1.3 数组的使用 二. 数组是引用类型三. 数组的应用场景四. 数组中的常用方法五. 二维数组 一. 数组的基本概念 1.1 为什么要使用数组&#xff1f; 想象这样的一个场景&#xff1a;期末…

混淆技术研究笔记(七)Ant扩展介绍

ant 扩展官方文档&#xff1a;https://ant.apache.org/manual/develop.html Writing Your Own Task 编写你自己的任务 1. 创建一个XXTask类 创建一个Java类继承org.apache.tools.ant.Task &#xff0c;实际上不继承也可以&#xff0c;定义一个 execute() 方法就可以&#xf…

【python】制作一个windows端自动化工具!

作为一名自动化工程师&#xff0c;这一章&#xff0c;带大家来看看我是如何制作一个windows端的自动化工具&#xff0c;本章节内容我会从基础的环境配置、基础模块介绍、框架设计、实际运用等方面来讲解&#xff0c;对于想要未来从事该行业的人来说&#xff0c;希望这篇文章能给…

公司重要文件防泄密

公司重要文件防泄密是企业管理中一项非常重要的任务&#xff0c;今天分享几个可以防止公司重要文件泄密的方式&#xff1a; 1、建立完善的文件管理制度 企业应该制定严格的文件管理制度&#xff0c;包括文件分类、加密、访问权限的管理等。确保每个员工都了解文件管理制度并严…