服务安装

大约 5 分钟

服务安装

sekiro 支持三种安装方式,分别兼顾快速上手、扩展定制、性能优化等不同场景

从 docker 安装

# 安装docker
yum install -y docker
# 下载镜像:
docker pull registry.cn-beijing.aliyuncs.com/iinti/common:sekiro3-allInOne-latest;
# 启动sekiro服务器
docker run -d -p 5612:5612 -v ~/sekiro-mysql-data:/var/lib/mysql --name sekiro-all-in-one registry.cn-beijing.aliyuncs.com/iinti/common:sekiro3-allInOne-latest

正常运行后无错误,直接浏览器访问 http://服务器 IP:5612open in new window

能正常看到 Web 登录页面说明服务正常启动,可以开始使用了(首个注册用户将会成为管理员)

这是最快速安装的方法,只需要一句 docker 命令即可启动 sekiro

PS:

这里数据库和 sekiro 服务都在一个容器中了,且数据文件没有挂载到宿主机

如果你想分开部署,可以参考下面的 docker-compose 方式

优缺点

docker 一键安装的方式不需要配置环境,只需要你的 Linux 服务器存在 docker 环境既可一键拉起。

他的缺点就是稳定性稍微差一点儿,如下:

  • sekiro 存在两个进程:mysql 数据库 + java 的服务,正常情况下最佳实践上一个 docker 镜像仅关联一个确定的进程,否则进程 crash docker 容器无法感知。
  • 无法完成分布式扩容,由于是 all in one 的方式启动,docker 一键启动方式数据库被隐藏到内部,无法部署多个节点,并且让节点共享数据库。

当然实际上我认为单一服务器本身已经足够支持高的并发压力了,我认为单一 docker 节点也足够正常使用了。

使用 docker compose

Docker 依赖 mysql,故需要 docker-compose 配合

docker-compose

已经安装过 docker 和 docker-compose 的请略过此步骤

# 如果你的服务器长期没有更新,那么建议更新一下
sudo yum clean all
sudo yum makecache
sudo yum update

# 安装docker(系统依赖升级到最新,这里一般不会报错,如果报错请走一遍第一步,可以考虑使用阿里云的yum镜像)
sudo yum install -y yum-utils  device-mapper-persistent-data  lvm2
sudo yum-config-manager  --add-repo   https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io

# 设置docker开机自启动
sudo systemctl start docker
sudo systemctl enable docker
systemctl enable docker.service
systemctl start docker.service

# 安装docker-compose,这里使用了pip的方式
sudo pip install docker-compose

启动 sekiro

执行命令:

curl https://oss.iinti.cn/sekiro/quickstart.sh | bash
  • 请预先安装好dockerdocker-compose
  • 服务依赖 MySQL 启动,使用 Docker-compose 首次启动数据库较慢,
  • 可能会 sekiro-server 启动失败, 这种情况确认数据库启动成功后,直接 docker restart sekiro-server
  • docker 全部使用默认参数做配置,非常适合快速入门,当然 sekiro 目前没有非常复杂的环境依赖,使用 docker 用作生产也是可以的
yint@MacBook-Pro ~ % curl https://oss.iinti.cn/sekiro/quickstart.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   271  100   271    0     0   4113      0 --:--:-- --:--:-- --:--:--  4442
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2594  100  2594    0     0  48584      0 --:--:-- --:--:-- --:--:-- 52938
Archive:  sekiro-compose.zip
   creating: assets/
  inflating: assets/ddl.sql
  inflating: docker-compose.yaml
[+] Running 12/12
 ⠿ sekiro-mysql-local Pulled                                                                                                                                                                                                                                            40.1s
   ⠿ 9815334b7810 Pull complete                                                                                                                                                                                                                                         17.0s
   ⠿ f85cb6fccbfd Pull complete                                                                                                                                                                                                                                         17.1s
   ⠿ b63612353671 Pull complete                                                                                                                                                                                                                                         17.2s
   ⠿ 447901201612 Pull complete                                                                                                                                                                                                                                         17.4s
   ⠿ 9b6bc806cc29 Pull complete                                                                                                                                                                                                                                         17.4s
   ⠿ 24ec1f4b3b0d Pull complete                                                                                                                                                                                                                                         17.5s
   ⠿ 207ed1eb2fd4 Pull complete                                                                                                                                                                                                                                         21.6s
   ⠿ 27cbde3edd97 Pull complete                                                                                                                                                                                                                                         21.7s
   ⠿ 0a5aa35cc154 Pull complete                                                                                                                                                                                                                                         38.4s
   ⠿ e6c92bf6471b Pull complete                                                                                                                                                                                                                                         38.4s
   ⠿ 07b80de0d1af Pull complete                                                                                                                                                                                                                                         38.5s
[+] Running 3/2
 ⠿ Network sekiro_compose_default  Created                                                                                                                                                                                                                               0.0s
 ⠿ Container sekiro-mysql-local    Created                                                                                                                                                                                                                               0.3s
 ⠿ Container sekiro-server         Created                                                                                                                                                                                                                               0.0s
Attaching to sekiro-mysql-local, sekiro-server
...
sekiro-server       |
sekiro-server       |   .   ____          _            __ _ _
sekiro-server       |  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
sekiro-server       | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
sekiro-server       |  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
sekiro-server       |   '  |____| .__|_| |_|_| |_\__, | / / / /
sekiro-server       |  =========|_|==============|___/=/_/_/_/
sekiro-server       |  :: Spring Boot ::                (v2.4.0)
sekiro-server       |
sekiro-server       |  _ _   |_  _ _|_. ___ _ |    _
sekiro-server       | | | |\/|_)(_| | |_\  |_)||_|_\
sekiro-server       |      /               |
sekiro-server       |                         3.1.2

升级服务器

cd sekiro-compose;
sudo docker pull registry.cn-beijing.aliyuncs.com/iinti/common:sekiro3server-latest;
sudo docker-compose down;
sudo docker-compose up -d;

优缺点

使用 docker-compose 的方式,我们将 sekiro 的主服务器和 mysql 服务器拆分为两个镜像,这样无论是 mysql 还是 sekiro 出现问题,都可以被 docker 感知到。

同时如果你具备一定的运维能力,你可以将 sekiro 服务器横向扩充为多台节点,这样我们可以支持分布式的部署 sekiro 服务器集群。

手动部署

sekiro 使用 java 开发,并且使用 mysql 作为数据库,如果你想手动部署 sekiro,则需要手动完全 java 和 mysql 的安装,之后进行相关配置

安装准备

配置和初始化

  • 解压安装包
  • 数据库配置初始化配置在:assets/ddl.sql,请根据本 sql 文件进行数据库建表初始化
  • conf 文件夹的相关配置
    • 项目使用 springboot,其中项目可选配置在 conf/application.properties,请在这里配置您的数据库链接信息(数据库为您上一步完成的 mysql 安装和数据库配置)
    • conf/static/*为前端资源,如果你想替换前端网页皮肤,则可以替换这里的内容 sekiro 前端是开源的,支持二开的
    • conf/static/sekiro-doc/*为文档资源,如果你想修改文档内容,则可以编辑这里

运行

  • 执行bin/startup.sh (如果是 windows,那么执行 xxx.bat 即可)
  • 观察日志是否正常

安装后服务初始化设置

访问网站: http://你的 IP:Web 服务端口open in new window 如(http://127.0.0.1:5612/),首次打开网站请注册账户,第一个注册账户将会成为管理员 注册完成后记得设置”代理鉴权账号密码“, 如 admin/admin

demoServer 编译和部署

demoServer 是 sekiro 商业版的一个分支,他和商业版本的 server 保持相同的协议,但是拥有更少的功能。

构建

在 Linux 或者 mac 上,执行脚本 build_demo_server.sh ,之后得到产出发布压缩包:sekiro-service-demo/target/sekiro-release-demo.zip

如果是 windows,或者不想自己构建,可以在这里直接下载 https://oss.iinti.cn/sekiro/sekiro-demoopen in new window

运行

  1. 安装 java(自行安装)
  2. 运行启动脚本:
  • bin/SekiroMain.sh :mac or linux
  • bin/SekiroMain.bat :windows

配置

  • conf/config.properties 配置定制参数,目前只支持配置服务端口 server.port=5612
  • conf/logback.xml可以用来配置日志输出规则
上次编辑于:
贡献者: liguobao