简要介绍一下RuleApp和RuleAPI,这两者从命名就能看出来,一个是app客户端,一个api后端,作者是规则之树的老哥,并且是开源的。app客户端和api后端都是开源的,支持二开,功能十分强大, 对老哥点赞
感兴趣的可以看以下链接:
规则之树客户端,安卓&IOS正式发布 - 规则之树 (ruletree.club)
RuleApi一键安装&更新脚本,傻瓜式配置,超快速运行 - 规则之树 (ruletree.club)
看完教程,可能有的朋友还是比较头大,博主也觉得头大,主要原因是平时不咋用java,不想在服务器装java依赖。所以,花了点时候把相关依赖做成了容器(docker)。接下来,博主带大家一起速通体验一下。
前言
博主已有typecho博客,服务器系统是centos,使用宝塔面板。
教程
第一步 宝塔安装Docker面板


软件中找到堡塔Docker模块,安装,启用
第二步 添加docker项目模板

点左侧的Docker,点上方的项目模板,添加一个模板,内容如下:
version: "3"
services:
webapp:
image: ruleapi-img:latest
ports:
- "8080:8080"
volumes:
- /opt/ruleapi/:/opt/files
network_mode: "host"
restart: unless-stopped
working_dir: /opt/
entrypoint: /opt/docker-ruleapi.sh start
environment:
RULE_APP_PORT: 8080
RULE_APP_SQLNAME: typecho数据库名
RULE_APP_SQLUSER: typecho数据库用户
RULE_APP_SQLPASS: typecho数据库密码
RULE_APP_REDISPASS: redis密码,没有就空着
RULE_APP_WEBKEY: 访问api的key,自己填一个字符串,后面登录要用
第三步 添加docker项目

刚刚的页面,上方点项目就行了,然后添加一个项目,模板就是第二步创建的模板

添加完可以看到多了一个容器,容器可以看日志,或者进入容器终端等等,到这步其实后端api部署好了,默认用的8080端口,但是这个端口通常是在主机内网用,不会暴露到外网(当然你想的话也可以)。因此,我们需要一个域名来对接这个后端api
第四步 添加后端网站UI站点

宝塔随便添加一个静态网站,伪静态规则如下:
location ^~ /images/ {
alias /opt/ruleapi/static/;
try_files $uri $uri/ =404;
}
location ^~ / {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With,X-Data-Type,X-Auth-Token';
if ( $request_method = 'OPTIONS' ) {
return 200;
}
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
}
然后访问你刚刚的域名,大功搞成~

关于图片上传问题

原教程比较麻烦,要需要重新创建一个域名,其实就用同样的域名就可以,因为我们刚刚在伪静态中已经对图片转发做了处理。在后台只需要填写 你的域名+/images/