# jnpf-java-single **Repository Path**: MiKeNetProject/jnpf-java-single ## Basic Information - **Project Name**: jnpf-java-single - **Description**: jnpf单体项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 41 - **Created**: 2023-12-14 - **Last Updated**: 2023-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README > 特别说明:源码、JDK、MySQL、Redis、Nacos、Seata、Sentinel等存放路径禁止包含中文、空格、特殊字符等 # 技术栈 - 主框架:`Spring Cloud Alibaba` + `Spring Boot` + `Spring Framework` - 持久层框架:`Mybatis-plus` - JSON序列化: `Jackson`&`Fastjson` - 缓存:`Redis` - 数据库: `MySQL 5.7.x+`、`SQLServer 2012+`、`Oracle 11g+` - API网关:`spring-cloud-geteway` - 服务注册&发现和配置中心: `Nacos` - 服务监控:`Spring Boot Admin` - 服务消费:`OpenFeign`/`Dubbo RPC` - 负载均衡:`Ribbon` - 服务熔断:`Sentinel` - 项目构建:`Maven` - 分布式事务:`Seata` - 消息队列:`RocketMQ` - 安全框架:`spring-cloud-security-oauth2`+`jwt` - 链路追踪:`Skywalking` - 模板引擎:`Velocity` - 即时通讯:`spring-boot-starter-websocket` - AOP:`spring-boot-starter-aop` # 推荐硬件配置 - 开发环境:I5 CPU+16G内存 - 测试生产环境: 8核32G(最低要求) # 环境要求 > 特别说明: JDK版本不低于 `jdk-8u281-x`版本 > JDK历史版本:`https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html` > 【配置库】仅支持MySQL,【业务库】支持MySQL、SQLServer、Oracle 软件 | 推荐版本 | 说明 -----|-------- | ------------- JDK | 1.8.281 | JAVA环境依赖(需配置环境变量) Maven | 3.6.3 | 项目构建(需配置环境变量) Redis | 3.2.100(Windows)/6.0.x(Linux、Mac) | MySQL | 5.7.x | 默认数据库 SQLServer | 2012 | Oracle | 11g | # 工具推荐 IDEA版本 | Maven版本 -----|-------- | IDEA2020及以上版本 | Maven 3.6.3及以上版本 | # IDEA插件 - `Lombok` - `Alibaba Java Coding Guidelines` - `MybatisX` # Maven私服配置(如有需要) > 通过官方私服下载依赖完成后,由于IDEA的缓存可能会出现部分报红,重启IDEA即可 1、打开`maven`下`conf/settings.xml`文件 2、 在``中添加 ``` xml maven-releases jnpf-user HLrQ0MA%S1nE maven-snapshots jnpf-user HLrQ0MA%S1nE ``` 3、在``中添加 ```xml maven-snapshots * maven-snapshots https://repository.jnpfsoft.com/repository/maven-public/ ``` 4、在idea中上传jar包到maven私服: settings.xml文件使用setting-jnpf.xml 在idea的右侧maven中点击lifecycle中的deploy即可 # 服务说明 服务名称 | 默认端口 | 描述 -----|-------- | ------------- nacos | 30099 | 服务注册、发现和配置中心 sentinel-server | 30098 | 流量控制、熔断降级、系统负载保护 seata-server | 30095 | 分布式事务 spring-boot-admin | 30097 | 管理和监控SpringBoot应用 skywalking | 30096 | 链路追踪监控 jnpf-gateway | 30000 | 网关 jnpf-oauth | 30001 | 认证服务 jnpf-system | 30002 | 系统基础服务 jnpf-visualdev | 30003 | 可视化开发(在线开发、代码生成、门户设计) jnpf-workflow | 30004 | 工作流 jnpf-file | 30005 | 文件服务(上传、下载、预览,文档编辑、预览等) jnpf-tenant | 30006 | 多租户服务 jnpf-datareport | 30007 | 报表服务 jnpf-message | 30008 | 消息中心 jnpf-scheduletask | 30009 | 任务调度 jnpf-permission | 30010 | 权限服务 jnpf-visualdata | 30011 | 数据大屏服务 jnpf-jnpf.zsyc | 30012 | 移动端服务 jnpf-extend | 30019 | 扩展(系统内置示例) jnpf-example | 30100 | 子系统开发模板 # 使用说明 ## 创建库并导入数据库脚本 > MySQL编码为`utf8mb4` > 在使用Navicat等工具时,`运行SQL脚本`执行`jnpf_init.sql`可能会报错(初始数据含有JSON数据),建议使用`新建查询`执行初始化脚本 - `jnpf-databae/MySQL/${version}/jnpf_init.sql`(项目业务库) - `jnpf-databae/java微服务/${version}/jnpf_nacos.sql`(项目配置库) - 数据库地址:192.168.3.72:3306/ls - 用户名:root - 密码:ls@888 ## 服务组件配置 ### `Nacos`配置 - 打开`jnpf-registry/nacos/conf/application.properties` - 修改数据库配置【配置库】(`第39-41行`) - 启动nacos:sh startup.sh -m standalone - 关闭nacos:sh shutdown.sh - 地址:127.0.0.1:30099 ### `Seata`配置 - 打开`jnpf-registry/seata/conf/file.conf`,修改数据源配置【配置库】(`第27行开始`) - 打开数据库仓库的`jnpf-databae/java微服务/jnpf_seata_config.sql`修改`seata`配置SQL脚本,并在`jnpf_nacos`(项目配置库)中执行脚本 ### `Sentinel`配置 - 右击`jnpf-registry/sentinel-server/pom.xml` 选择`Add as Maven Project` - 打开`sentinel-server/src/main/resoures/application.properties`,修改配置`nacos`服务地址(`第29行`)(nacos为本地地址时无需修改) ### `Skywalking`配置 #### 基本配置 - 打开`skywalking/config/application.yml` ,修改下数据源配置(`第164-166行`) - 创建`skywalking`初始表(脚本自动创建) - 运行`skywalking/bin/oapServiceInit.bat`(windows环境) - 运行`skywalking/bin/oapServiceInit.sh`(Linux、Mac环境) #### 集成到项目中 > 配置中包含JVM配置 - 配置说明 1、JVM内存配置(根据实际情况调整)) ```bash -Xmx1500m -Xms1500m -Xmn1180m -Xss1024k ``` 2、`skywalking-agent`路径(绝对路径) ```bash -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar ``` 3、服务名 ```bash -Dskywalking.agent.service_name=jnpf-extend ``` 4、`gRPCPort`端口,默认端口`11800`, ```bash -Dskywalking.collector.backend_service=localhost:11800 ``` 其他服务类似操作,具体配置参考如下: - 开发环境配置 - `jnpf-gateway`网关 ```bash -Xmx200m -Xms200m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-gateway -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-oauth`认证服务 ```bash -Xmx200m -Xms200m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-oauth -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-system`系统基础服务 ```bash -Xmx400m -Xms400m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-system -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-visualdev`可视化开发 ```bash -Xmx800m -Xms800m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-visualdev -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-workflow`工作流 ```bash -Xmx800m -Xms800m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-jnpf-workflow -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-file`文件服务 ```bash -Xmx300m -Xms300m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-file -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-tenant`租户服务 ```bash -Xmx200m -Xms200m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-tenant -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-datareport`报表服务 ```bash -Xmx500m -Xms500m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-datareport -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-message`消息中心 ```bash -Xmx200m -Xms200m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-message -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-scheduletask`任务调度 ```bash -Xmx1000m -Xms1000m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-scheduletask -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-permission`权限服务 ```bash -Xmx400m -Xms400m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-permission -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-visualdata`大屏服务 ```bash -Xmx200m -Xms200m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-visualdata -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-jnpf.zsyc`大屏服务 ```bash -Xmx200m -Xms200m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-jnpf.zsyc -Dskywalking.collector.backend_service=localhost:11800 ``` - `jnpf-extend`扩展服务 ```bash -Xmx200m -Xms200m -javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-extend -Dskywalking.collector.backend_service=localhost:11800 ``` - 测试生产环境配置(参考配置,具体按实际使用情况调整) 测试生产环境中,在服务启动命令中添加 - `jnpf-gateway`网关 ```bash nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-gateway -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-gateway-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-oauth`认证服务 ```bash nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-oauth -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-oauth-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-system`系统基础服务 ```bash nohup java -Xmx400m -Xms400m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-system -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-system-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-visualdev`可视化开发 ```bash nohup java -Xmx800m -Xms800m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-visualdev -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-visualdev-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-workflow`工作流 ```bash nohup java -Xmx800m -Xms800m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-workflow -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-workflow-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-file`文件服务 ```bash nohup java -Xmx300m -Xms300m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-file -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-file-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-tenant`租户服务 ```bash nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-tenant -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-tenant-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-datareport`报表服务 ```bash nohup java -Xmx500m -Xms500m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-datareport -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-datareport-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-message`消息中心 ```bash nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-message -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-message-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-scheduletask`任务调度 ```bash nohup java -Xmx1000m -Xms1000m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-scheduletask -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-scheduletask-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-permission`权限服务 ```bash nohup java -Xmx500m -Xms500m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-permission -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-permission-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-visualdata`大屏服务 ```bash nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-extend -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-visualdata-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-jnpf.zsyc`移动端 ```bash nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-extend -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-jnpf.zsyc-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` - `jnpf-extend`扩展 ```bash nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-extend -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-extend-3.2.9-RELEASE.jar >Log.log 2>&1 & ``` ### 其他子系统配置 > 这里的数据库为【业务库】数据库 - 启动`nacos`,打开`配置管理`-`配置列表`- `dev`,修改`datasource.yaml`(Redis,数据库配置)和`resources.yaml`(静态资源配置) ### JVM配置参考(根据实际情况调整) 启动项 | 参考配置| 描述 -----|--------|-------- JnpfApplication | -Xmx200m -Xms200m | 移动端 JnpfDataReportApplication | -Xmx500m -Xms500m | 报表服务 JnpfExtendApplication | -Xmx200m -Xms200m | 扩展服务 JnpfFileAplication | -Xmx300m -Xms300m | 文件服务 JnpfGatewayApplication | -Xmx200m -Xms200m | 网关 JnpfMessageApplication | -Xmx200m -Xms200m | 消息中心 JnpfOauthApplication | -Xmx200m -Xms200m | 认证中心 JnpfPermissionApplication | -Xmx400m -Xms400m | 权限管理 JnpfScheduletaskApplication | -Xmx1000m -Xms1000m | 系统调度 JnpfSystemApplication | -Xmx400m -Xms400m | 系统服务 JnpfTenantApplication | -Xmx200m -Xms200m | 多租户 JnpfVisualdataApplication | -Xmx200m -Xms200m | 大屏服务 JnpfVisualdevApplication | -Xmx800m -Xms800m | 可视化开发 JnpfWorkflowApplication | -Xmx800m -Xms800m | 工作流 #### 开发环境配置 在`Run/Debug Configurations`界面按上述表格配置 #### 测试生产环境配置 在启动命令加上配置`-Xmx500m -Xms500m -Xmn180m -Xss1024k`,如 ```bash nohup java -jar -Xmx500m -Xms500m jnpf-system-3.2.9-RELEASE.jar > Log.log & 2>&1 & ``` ### 项目启动 > 建议按照如下顺序进行启动,注意`naocs`服务管理列表(`public`),确保每个服务都正常 #### `nacos-server`服务(优先启动等级1) - 运行`jnpf-registry/nacos-server/bin/startup.cmd`(windows环境) - 运行`jnpf-registry/nacos-server/bin/startup.sh`(Linux、Mac环境) - 打开`http://localhost:30099/nacos/index.html`,默认账号密码为`nacos` #### `sentinel-server`服务(优先启动等级2) - 运行`jnpf-registry/sentinel-server/src/main/java/com/alibaba/csp/sentinel/dashboard/DashboardApplication.java`启动类 #### `seata-server`服务(优先启动等级2) - 运行`jnpf-registry/seata-server/bin/startup.bat`(windows环境) - 运行`jnpf-registry/seata-server/bin/startup.sh`(Linux、Mac环境) #### `skywalking`服务(可选) - 运行`skywalking/bin/startup.bat`(windows环境) - 运行`skywalking/bin/startup.sh`(Linux、Mac环境) #### `spring-boot-admin`管理和监控SpringBoot应用(可选) - 运行`jnpf-registry/boot-admin/src/main/java/jnpf/JnpfAdminApplication.java`启动类 #### 其他服务(不分先后顺序) - `jnpf-jnpf.zsyc`服务(移动端):运行`/jnpf-jnpf.zsyc/jnpf-jnpf.zsyc-server/src/main/java/jnpf/JnpfApplication`启动类 - `jnpf-datareport`服务(报表): 运行`jnpf-report/jnpf-datareport/report-console/src/main/java/com/bstek/ureport/console/JnpfDataReportApplication`启动类 - `jnpf-extend`服务(扩展): 运行`jnpf-extend/jnpf-extend-server/src/main/java/jnpf/JnpfExtendApplication`启动类 - `jnpf-file`服务(文件):运行`jnpf-file/jnpf-file-server/src/main/java/jnpf/JnpfFileAplication`启动类 - `jnpf-gateway`服务(网关):运行`/jnpf-gateway/src/main/java/jnpf/system/base/JnpfGatewayApplication`启动类 - `jnpf-message`服务(消息中心):运行`jnpf-message/jnpf-message-server/src/main/java/jnpf/JnpfMessageApplication`启动类 - `jnpf-oauth`服务(认证中心):运行`jnpf-oauth/jnpf-oauth-server/src/main/java/jnpf/JnpfOauthApplication`启动类 - `jnpf-permission`服务(权限管理):运行`jnpf-permission/jnpf-permission-server/src/main/java/jnpf/JnpfPermissionApplication`启动类 - `jnpf-scheduletask`服务(系统调度):运行`jnpf-scheduletask/jnpf-scheduletask-server/src/main/java/jnpf/JnpfScheduletaskApplication`启动类 - `jnpf-system`服务(系统):运行`jnpf-system/jnpf-system-server/src/main/java/jnpf/JnpfSystemApplication`启动类 - `jnpf-tenant`服务(多租户): 运行`jnpf-tenant/jnpf-tenant-server/src/main/java/jnpf/JnpfTenantApplication`启动类 - `jnpf-visualdata`服务(大屏):运行`jnpf-visualdata/jnpf-visualdata-server/src/main/java/jnpf/JnpfVisualdataApplication`启动类 - `jnpf-visualdev`服务(可视化开发):运行`jnpf-visualdev/jnpf-visualdev-server/src/main/java/jnpf/JnpfVisualdevApplication`启动类 - `jnpf-workflow`服务(工作流): 运行`jnpf-workflow/jnpf-workflow-server/src/main/java/jnpf/JnpfWorkflowApplication`启动类 ### 服务中间件 - Nacos - 版本:`2.0.0` - 控制台URL: `http://localhost:30099/nacos/index.html` - 用户密码:`nacos`/`nacos` - Sentinel - 版本:`1.8.2` - 控制台URL: `http://localhost:30098` - 用户密码:`sentinel`/`sentinel` - Spring Boot Admin(可选) - 版本:`2.3.0` - 控制台URL: `http://localhost:30097` - 用户密码:`admin`/`admin` - Skywalking(可选) - 版本:`8.3.0` - 控制台URL: `http://localhost:30096` - Swagger接口 - 版本:`3.0.0` - 全局接口(网关):`http://localhost:30000/swagger-ui/` - 认证服务:`http://localhost:30001/swagger-ui/` - 系统服务:`http://localhost:30002/swagger-ui/` - 可视化开发:`http://localhost:30003/swagger-ui/` - 工作流:`http://localhost:30004/swagger-ui/` - 文件服务:`http://localhost:30005/swagger-ui/` - 多租户服务:`http://localhost:30006/swagger-ui/` - 消息中心:`http://localhost:30008/swagger-ui/` - 系统调度:`http://localhost:30009/swagger-ui/` - 权限服务:`http://localhost:30010/swagger-ui/` - 大屏服务:`http://localhost:30011/swagger-ui/` - 移动端:`http://localhost:30012/swagger-ui/` - 扩展服务:`http://localhost:30019/swagger-ui/` ### 常见问题 #### Linux下运行`.sh`启动提示`$’\r’: 未找到命令的解决`等问题 在服务器上安装 ```shell yum install dos2unix ``` 然后通过执行`dos2unix **.sh`进行转换 #### 某些情况下服务无法连接到`seata`的问题 修改`seata`启动脚本`startup.sh`,加上`seata`所在服务器的IP ```shell nohup ./seata-server.sh -p 30095 -h 192.168.0.26 > Log.log & 2>&1 & ``` ### Seata报-Xloggc is deprecated错误的解决方法 报错log如下 ```sh [0.001s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:/www/wwwroot/jnpf-registry/seata-server/logs/seata_gc.log instead. [0.001s][error ][logging] Error opening log file '/www/wwwroot/jnpf-registry/seata-server/logs/seata_gc.log': No such file or directory [0.001s][error ][logging] Initialization of output 'file=/www/wwwroot/jnpf-registry/seata-server/logs/seata_gc.log' using options '(null)' failed. Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. ``` 从这个报错中,可以看出启动参数-Xloggc过时了,提示我们用-Xlog:gc:,原因其实也不难猜测,因为用的是JDK11,所以参数发生了变化。 我们修改下`seata-server.sh`,将`-Xloggc`改为`-Xlog:gc`: 再次启动,还会报另外一个错,就是找不到日志文件,手动创建下日志文件: ```sh touch seata_gc.log ```