东方通服务器部署(TongWeb、TongHttpServer)
本小节,讲解东方通相关组件的部署方式。
| 原组件 | 东方通组件 | 作用 |
|---|---|---|
| Tomcat | TongWeb | 运行 Java 后端应用 |
| Redis | TongRDS | 缓存、登录令牌、分布式锁、限流和消息 |
| Nginx | TongHttpServer | 静态资源、反向代理和负载均衡 |
TongRDS 的安装和项目连接,可参考 《国产信创数据库》。Tomcat 的 WAR 部署,可参考 《Tomcat WAR 部署》。
# 1. 环境准备
① 从 东方通官方资料中心 (opens new window) 获取对应产品的安装介质、授权和部署手册。
注意,TongWeb、TongRDS、TongHttpServer 是不同产品,授权文件不能混用。
② 确认 CPU 架构、JDK 和应用服务器的兼容性。
③ 先准备项目数据库和缓存,确认后端可以独立启动、登录。关系型数据库可参考 《国产信创数据库》,TongRDS 的配置见该文档第 6 节。
# 2. TongWeb 部署
TongWeb 是 Java 应用服务器,可以作为外部服务器部署 WAR,也可以使用厂商的嵌入式组件替换 Spring Boot 内嵌 Tomcat。
# 2.1 WAR 方式
① 参考 《Tomcat WAR 部署》,完成 WAR 打包类型、Tomcat 的 provided 依赖和启动类配置。
继续修改 yudao-server/pom.xml,将 Tomcat 的 EL 依赖设为 provided:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<scope>provided</scope>
</dependency>
② 在 yudao-server/pom.xml 增加 Maven profile,关闭 repackage,生成供外部 TongWeb 部署的标准 WAR:
<profiles>
<profile>
<id>tongweb-war</id>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
如果原来已有 profiles,将这个 profile 合并进去。项目根目录执行:
mvn clean package -pl yudao-server -am -Ptongweb-war -DskipTests
产物为 yudao-server/target/yudao-server.war。检查归档内容:
unzip -l yudao-server/target/yudao-server.war
标准 WAR 使用 WEB-INF/classes、WEB-INF/lib,不包含内嵌 Tomcat、BOOT-INF 或 WEB-INF/lib-provided。
③ 按对应版本手册安装、启动 TongWeb,再通过管理控制台部署 WAR,将应用上下文设置为 /。
启动 TongWeb 的 JVM 前设置 SPRING_PROFILES_ACTIVE,加载你准备好的环境配置。数据库、TongRDS 地址和密码也需要配置到该环境中;容器内的 127.0.0.1 指向容器自身。
TongWeb 的安装目录、启动脚本和控制台操作随版本变化,按对应介质手册操作。
# 2.2 嵌入式方式
使用厂商提供的 TongWeb 嵌入式组件或转换工具替换内嵌 Tomcat,配置授权后通过 java -jar 启动。依赖坐标和转换命令请参考对应版本的厂商说明。
授权缺失或过期时,获取对应版本的有效授权。
# 2.3 参考资料
以下资料可供部署和排查时参考:
- 《国产化:springboot 项目 TongWeb 替换 tomcat 踩坑实录》 (opens new window)
- 《Springboot 集成东方通等中间件打包和部署》 (opens new window)
- 《信创改造:tongweb 部署 Springboot 项目方案》 (opens new window)
# 3. TongHttpServer 部署
① 获取对应 CPU 架构的 TongHttpServer 介质及有效授权,按官方手册安装。
② 配置后端反向代理。6.0.0.0 使用 Nginx 风格配置,以下为代理配置示例:
events {
worker_connections 1024;
}
http {
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:48089;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
示例假设 THS 与后端运行在同一台主机;如果分别运行在容器中,需要改成容器网络地址。
③ 按对应版本的启动脚本运行并检查日志。出现 Error,license expired! 时,需要获取有效授权后再启动。