Skip to content

部署服务端

钟勋 edited this page Jul 4, 2021 · 13 revisions

简介

部署架构图:

服务端支持两种部署方式:

  • 使用java命令启动
  • 使用docker镜像启动

1. 使用java命令启动

服务端使用SpringBoot开发而成,因此不需要部署tomcat,直接使用java -jar命令启动jar包。 按照以下步骤操作:

  1. 下载最新版服务端jar包(idcenter-1.6.0.jar
  2. 安装Java8或使用已有的Java8
  3. 安装数据库,可选择使用MySQL或者PostgreSQL作为服务端的数据库。
    • MySQL操作方法:安装MySQL或使用已有的MySQL,创建数据库idcenter_online,并使用最新版初始化sql脚本(idcenter-1.6.0-MySQL-ddl.sql)进行初始化。
    • PostgreSQL操作方法:安装PostgreSQL或使用已有的PostgreSQL,创建数据库idcenter_online,并使用最新版初始化sql脚本(idcenter-1.6.0-PostgreSQL-ddl.sql)进行初始化。
  4. 在服务器中创建目录/var/apps/,并保证服务端对它拥有读写权限。
  5. 启动服务端

启动命令模版:

nohup java -Xms1024m -Xmx1024m -Dspring.profiles.active=online -Dspring.datasource.url=数据库url -Dspring.datasource.username=数据库用户名 -Dspring.datasource.password=数据库密码 -jar idcenter-1.6.0.jar &

注意: 可根据具体情况设置虚拟机内存,比如设置1GB"-Xms1024m -Xmx1024m";

如果启动出现command not found报错,可能是你的终端无法识别数据库url里面包含的特殊字符,只需将数据库url放到英文双引号里再重试就可以了

比如我本地启动命令:

nohup java -Xms1024m -Xmx1024m -Dspring.profiles.active=online -Dspring.datasource.url="jdbc:mysql://192.168.0.1:3306/idcenter_online?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8" -Dspring.datasource.username=root -Dspring.datasource.password=12345678 -jar idcenter-1.6.0.jar &

注意:数据库url中需加上serverTimezone=GMT%2B8,它表示使用中国北京时区,不加的话最终存储到数据库中的时间可能不正确。以上是最简版的启动命令脚本,真正部署时可自行进行丰富,比如指定gc文件参数等等。

  1. 查看启动日志:tail -100f /var/apps/idcenter/logs/idcenter.log
  2. 访问服务端:http://{IP}:6210
  3. 配置Nginx负载均衡策略:当部署了多个服务端时,需根据ip_hash的方式进行负载均衡。

2. 使用docker镜像启动。

docker用户可以便捷的使用镜像进行启动。 按照以下步骤操作:

  1. 安装Docker或使用已有的Docker
  2. 安装数据库,可选择使用MySQL或者PostgreSQL作为服务端的数据库。
    • MySQL操作方法:安装MySQL或使用已有的MySQL,创建数据库idcenter_online,并使用最新版初始化sql脚本(idcenter-1.6.0-MySQL-ddl.sql)进行初始化。
    • PostgreSQL操作方法:安装PostgreSQL或使用已有的PostgreSQL,创建数据库idcenter_online,并使用最新版初始化sql脚本(idcenter-1.6.0-PostgreSQL-ddl.sql)进行初始化。
  3. 启动服务端

启动命令模版:

docker volume create idcenter
docker run --detach --rm -p 6210:6210 --mount source=idcenter,target=/var/apps --env JAVA_OPTS="-Xms1024m -Xmx1024m -Duser.timezone=GMT+08 -Dspring.profiles.active=online -Dspring.datasource.url=数据库连接 -Dspring.datasource.username=数据库用户名 -Dspring.datasource.password=数据库密码" zhongxunking/idcenter:1.6.0

注意:可根据具体情况设置虚拟机内存,比如设置1GB"-Xms1024m -Xmx1024m";

比如我本地启动命令:

docker volume create idcenter
docker run --detach --rm -p 6210:6210 --mount source=idcenter,target=/var/apps --env JAVA_OPTS="-Xms1024m -Xmx1024m -Duser.timezone=GMT+08 -Dspring.profiles.active=online -Dspring.datasource.url=jdbc:mysql://192.168.0.1:3306/idcenter_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 -Dspring.datasource.username=root -Dspring.datasource.password=12345678" zhongxunking/idcenter:1.6.0

注意:数据库url中需加上serverTimezone=GMT%2B8,它表示使用中国北京时区,不加的话最终存储到数据库中的时间可能不正确。 以上是最简版的启动命令脚本,真正部署时可自行进行丰富,比如指定gc文件参数等等。

  1. 查看启动日志:1、执行命令“docker container ls”查看容器id;2、执行命令“docker exec -it 容器id bash”进入容器;3、执行命令“tail -100f /var/apps/idcenter/logs/idcenter.log”
  2. 访问服务端:http://{IP}:6210
  3. 配置Nginx负载均衡策略:当部署了多个服务端时,需根据ip_hash的方式进行负载均衡。
Clone this wiki locally