RuleApi是一款Java语言开发的API程序,用于快速构筑自己的社区,文章博客,资源论坛等后端API。它起源于国产开源程序Typecho数据库,并支持与Typecho网站对接,但目前已经支持独立运行。
目前快捷安装是通过Linux下一键脚本实现环境和程序的安装,但RuleApi作为Springboot框架开发的程序,理论上可以在所有支持java环境的操作系统中运行。如果你使用的是CentOS系统,则可以继续阅读此文档完成安装,如果是其它操作系统,请阅读手动安装的文章。
请勿将本程序用于诈骗、色情、赌博、木马、病毒等违法行为,如有违反该条例,我们将配合公安机关追究法律责任!目前将响应相关法律政策,逐步加入API封禁机制,违法违规站点将直接永久禁用API,届时将无法使用,无法安装。
请认真看完所有的叙述,不要只看一半教程就开始操作,出错了又来说有Bug!
教程开始
第一步:前期准备部分
服务器配置要求
最低配置:1核CPU 700M运行内存
推荐配置:2核CPU 2G运行内存
系统要求:CentOS7.X&Ubuntu,建议可以安装好宝塔面板(方便管理)
前置要求
1.Typecho(1.0 or 1.1 or 1.2):可选择不安装。Typecho是一款国内有名的个人博客开源程序,拥有丰富的模板和插件生态。
2.Redis(5.0-7.0):推荐6.0,Redis是现在最受欢迎的NoSQL数据库之一。
3.Mysql(5.5-5.7):推荐5.6
4.准备一个域名用于访问RuleApi
Typecho
Typecho是一款php语言开发的国产开源程序,RuleApi起源于Typecho,并完美支持Typecho数据库。如果你需要额外的网页访问端,则可以先安装Typecho。如果你不需要,则直接跳过这里,进入下面的步骤。
请不要做如下操作
请不要在服务器自己安装Java环境和tomcat!!!!!!,这将直接导致API安装后无法运行,并且造成后续的一系列问题,相当于五分钟的事情你非要画蛇添足变成一两个小时搞不定!!!!
第二步:执行安装脚本
首先,执行如下命令,进入服务器opt目录
cd /opt
对于Centos
执行下方RuleApi安装脚本,根据提示完成安装。
wget https://www.ruletree.club/api/ruleapi.sh && sh ruleapi.sh install
如果上述脚本执行出现网络错误,可选择备用节点
对于Ubuntu(测试状态)
执行下方RuleApi安装脚本,根据提示完成安装。
curl -O https://www.ruletree.club/api/ubuntu/ruleapi.sh && chmod +x ruleapi.sh && ./ruleapi.sh install
对于Debian(测试状态)
执行下方RuleApi安装脚本,根据提示完成安装。
curl -O https://www.ruletree.club/api/debian/ruleapi.sh && chmod +x ruleapi.sh && ./ruleapi.sh install
命令和填写范例如下:
请输入运行端口(输入8080或者其它端口,千万别80或者443):这里可以不填,或者填写不合其它应用冲突的端口
请输入数据库名:如果安装了Typecho,就填写和Typecho一致的数据库信息
请输入数据库用户名:如果安装了Typecho,就填写和Typecho一致的数据库信息
请输入数据库密码:如果安装了Typecho,就填写和Typecho一致的数据库信息
请输入redis密码(一般是空):
请输入系统管理密码(建议英文加数字):系统管理里面也叫做访问Key
第四步:外网访问
安装完成RuleApi后,需要外网访问才可以使用。所以,如果安装了宝塔面板,请新创建一个纯静态网站(不需要ftp,不需要数据库,只要纯静态并且分配单独的域名,一般是二级域名),配置SSL证书(主要提升安全性和后续方便),随后将如下代码放入这个新建网站的伪静态配置中。下方的代码实现了反向代理和跨域,同时8080请替换为你上个步骤设置的API端口,127.0.0.1这条请不要变更。
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;
}
访问界面如下,随后请点击“安装及更新”按钮,输入你上个步骤设置的系统管理密钥,即可完成安装。如果你未安装Typecho,将会弹出提示框询问你是否需要独立安装。
到此,RuleApi安装完成,你使用的域名即为API接口地址。
第五步:API后续管理
注意,项目启动之后,运行日志将输出到/opt目录下out.txt文件,如果启动后出现异常或者无法访问,可以打开这个文件查看具体的原因。/opt/application.properties为主要的配置文件,如果出现安装脚本配置错误,项目无法正常启动,就可以在这个文件进行修改。
管理命令
启动RuleAPi
sh /opt/ruleapi.sh start
停止RuleAPi
sh /opt/ruleapi.sh stop
重启RuleAPi
sh /opt/ruleapi.sh restart
删除RuleAPi
sh /opt/ruleapi.sh uninstall
查看帮助信息
sh /opt/ruleapi.sh help
更新和升级
通过如下指令可更新到最新正式版
sh /opt/ruleapi.sh update
通过如下指令可更新到内测版本(功能多,但可能存在未知问题)
sh /opt/ruleapi.sh updateBeta
开机自启和宕机自启
目前脚本已经添加了monitor监听方法,执行后将检测RuleAPI是否正常运行,如果未运行状态则执行启动命令。具体指令如下:
sh /opt/ruleapi.sh monitor
所以,只需要让这个命令几分钟执行一次,监听项目是否运行正常,未运行就开始运行,就可以实现开机自启和宕机自启,以宝塔面板为例,直接在计划任务中增加如下的任务即可,间隔可以3分钟到10分钟,这样开启或者宕机后几分钟内就会自行启动。
定时任务
监控运行状态
如何更新脚本本身?
这个一键脚本我是会一直维护更新的,如果你本地的版本已经落后或者存在问题,可以通过下方的链接下载最新的sh文件,然后上传到服务器的opt目录,这样就可以保持脚本版本的最新
旧版提示
直接安装最新版本的可无视下方内容,而通过旧版升级的请根据下方的提示进行修改。
1.对于2022/03/03之前安装RuleApi的用户`,如果使用的是本地上传接口,请将/opt/file:/opt/RuleApi.jar!/BOOT-INF/classes!下的static文件,移动到/opt/file/static中,如果没有就自己创建。2022/03/03之后安装的用户请无视。
2.对于从RuleApi1.3.0以下版本升级的用户,请修改opt目录下application.properties文件,找到如下代码:
logging.level.com.RuleApi.dao=DEBUG
改为
logging.level.com.RuleApi.dao=INFO