Skip to content

部署服务端程序

IMPORTANT

本文档介绍u8-x-server程序的部署。 u8-x-server程序是SDK核心业务服务,处理和SDK客户端的交互协议、各个渠道的登录认证和支付回调协议等,支持集群部署。

部署之前, 请先确定所使用的服务器系统的时区,数据库的时区;如果时区不是UTC+8(Asia/Shanghai),请将时区统一。

发布项目

如果你已经看过服务端开发环境搭建, 那么开发环境搭建好了之后, 你可以执行如下命令,生成u8-x-server程序的发布目录:

bash
./gradlew u8-x-server:release

等待执行完成之后, 会在U8Servers/release/u8-x-server目录下生成可部署程序。 部署目录结构如下:

server.dev
  -----bin: 该目录包含了程序运行的可执行jar包
  ----application.properties: 程序配置文件,在该文件中指定使用dev还是prod
  ----application-dev.properties: 开发环境配置文件
  ----logback-spring.xml logback日志配置文件
service.sh: Linux下快捷启动辅助脚本
startdev.sh: Linux下启动脚本
stopdev.sh: Linux下结束程序脚本

程序部署,我们以CentOS 7.2系统(推荐使用CentOS 7.2/7.6)的云服务器为例,我们将上述目录下所有文件直接上传到云服务器上某个目录下,比如/home/u8.server目录下即可。

配置参数

如果您还没有安装安装mysql数据库,请参考这篇文档完成Mysql的安装和配置: MySql配置

如果您还没有安装Redis,请参考这篇文档完成Redis的安装和配置:Redis配置

程序配置

拷贝到服务器上之后, server.dev目录下,打开application.properties和application_dev.properties文件,检查并修改如下配置项:

bash

server.port: 程序启动后占用的端口
spring.servlet.multipart.location: 程序临时文件目录位置,建议手动指定,防止使用系统临时目录,一段实际无使用,被系统回收,导致程序需要重启

spring.datasource.url: 数据库链接,修改其中的数据库IP地址,端口和数据库名称即可。
spring.datasource.username: 数据库用户名
spring.datasource.password: 数据库用户密码

spring.redis.host:redis服务所在的ip地址
spring.redis.password: redis服务的密码,如果redis中没有配置,可以为空
spring.redis.port: redis服务的端口,默认是6379
spring.redis.database: 当前程序使用的redis数据库索引, 取值:0到15

日志配置

bash
logback-spring.xml文件中可以配置日志输出的等级, 一般我们可以设置为warn或者error级别,可以减少日志文件的大小

启动服务

程序采用java开发,所以服务器上需要有jdk环境(jdk版本:1.8),如果你的服务器上还没有安装, 请先安装jdk:

bash
yum install java-1.8.0-openjdk* -y

部署目录下有几个执行脚本, 为了这些脚本可以在linux下执行, 请先分别分配一下可执行权限; 命令行进入/home/xsdk.server目录下,然后执行如下命令

bash
chmod +x startdev.sh
chmod +x stopdev.sh
chmod +x service.sh

启动后端程序,执行如下命令:

bash
./startdev.sh

如果执行失败, 提示bash not found,可能是因为脚本在Windows下操作过,导致脚本换行符变成Windows下的格式了,可以先用命令更改一下换行符格式;依次执行如下命令:

bash
sed -i "s/\r//" startdev.sh
sed -i "s/\r//" stopdev.sh
sed -i "s/\r//" service.sh

启动之后, 可以看下server.dev目录下, 是否出现了nohup.out和run.pid等文件:

bash
run.pid: 当前程序的进程ID文件
nohup.out: 当前启动程序的控制台日志输出文件
nohup.out.bak: 上一次启动后程序的日志备份文件
log目录: sdk.log是当前程序输出的日志文件,其他是每天一个日志文件

关闭程序, 执行如下命令:

bash
./stopdev.sh

后续重启的话, 我们按如下顺序重启:

1、执行 ./stopdev.sh
2、等待10来秒,等程序关闭完成
3、执行 ./startdev.sh

注意事项

1、 服务端程序直接对外访问的话,请将程序的端口添加到服务器上的防火墙端口过滤规则中
2、 如果使用的是云服务器等,云服务器一般有专门的端口访问设置,也请在端口访问规则中,将后端程序的端口添加到对外访问规则中

版权所有© 2021-2030 上海丞诺网络科技有限公司