签名服务¶
1. 功能说明¶
本工程为签名服务子系统。功能:管理公私钥、对数据进行签名。
2. 前提条件¶
环境 | 版本 |
---|---|
Java | jdk1.8.0_121或以上版本 |
数据库 | mysql-5.6或以上版本 |
备注:安装说明请参看附录。 |
3. 部署说明¶
3.2 编译代码¶
方式一:如果服务器已安装gradle,且版本为gradle-4.10或以上
gradle build -x test
方式二:如果服务器未安装gradle,或者版本不是gradle-4.10或以上,使用gradlew编译
./gradlew build -x test
构建完成后,会在根目录webase-sign下生成已编译的代码目录dist。
3.3 修改配置¶
(1)进入编译的代码目录:
cd dist
(2)以下有注释的地方根据实际情况修改:
vi conf/application.yml
server:
# 本工程服务端口,端口被占用则修改
port: 8085
context-path: /webase-sign
spring:
datasource:
# 数据库连接信息
url: jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&characterEncoding=utf8
# 数据库用户名
username: dbUsername
# 数据库密码
password: dbPassword
driver-class-name: com.mysql.jdbc.Driver
constant:
# aes加密key(16位)
aesKey: EfdsW23D23d3df43
3.4 服务启停¶
启动:sh start.sh
停止:sh stop.sh
检查:sh status.sh
备注:如果脚本执行错误,尝试以下命令:
赋权限:chmod + *.sh
转格式:dos2unix *.sh
3.5 查看日志¶
tail -f log/webase-sign.log
5. 附录¶
5.1 Java环境部署¶
此处给出简单步骤,供快速查阅。详情请参考官网。
(1)从官网下载对应版本的java安装包,并解压到相应目录
mkdir /software
tar -zxvf jdkXXX.tar.gz /software/
(2)配置环境变量
export JAVA_HOME=/software/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5.2 数据库部署¶
此处以Centos/Fedora为例。
(1)切换到root
sudo -s
(2)安装mysql
yum install mysql*
#某些版本的linux,需要安装mariadb,mariadb是mysql的一个分支
yum install mariadb*
(3)启动mysql
service mysqld start
#若安装了mariadb,则使用下面的命令启动
systemctl start mariadb.service
(4)初始化数据库用户
初次登录
mysql -u root
给root设置密码和授权远程访问
mysql > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
安全温馨提示:
- 例子中给出的数据库密码(123456)仅为样例,强烈建议设置成复杂密码
- 例子中的远程授权设置会使数据库在所有网络上都可以访问,请按具体的网络拓扑和权限控制情况,设置网络和权限帐号
授权test用户本地访问数据库
mysql > create user 'test'@'localhost' identified by 'test1234';
(5)测试连接
另开一个ssh测试本地用户test是否可以登录数据库
mysql -utest -ptest1234 -h 127.0.0.1 -P 3306
登陆成功后,执行以下sql语句,若出现错误,则用户授权不成功
mysql > show databases;
mysql > use test;
(6)创建数据库
登录数据库
mysql -utest -ptest1234 -h 127.0.0.1 -P 3306
创建数据库
mysql > create database testdb;