RuleApi一键安装&更新脚本,傻瓜式配置,超快速运行

本文阅读 11 分钟
广告

RuleApi是基于Typecho的一款综合性API程序,专为typecho网站提供完善的API接入体验。具体的介绍已经放在之前的文章了,感兴趣可以直接过去阅读。

RuleApi,基于Typcho程序开发的多功能API,开源发布

由于很多人反馈手动安装麻烦,或者不会弄,所以我写了这款安装脚本,可以一键安装环境和程序,而且就算安装失败,强行中断也不会对服务器造成什么不良影响,随便执行都可以。当然,这个脚本的主要目的,还是帮助使用者,更加快捷不费脑的安装RuleApi。

注意,脚本处于测试阶段,使用过程中出现的任何问题都可以加群询问:692117682

提示

我已经在语雀补充了更加详细的文档,建议前往阅读:RuleProject社区应用帮助文档

教程开始

第一步:前期准备部分

服务器配置要求

最低配置:1核CPU 700M运行内存
推荐配置:2核CPU 2G运行内存

前置要求如下:

Typecho(1.0 or 1.1 or 1.2):可选择不安装。Typecho是一款国内有名的个人博客开源程序,拥有丰富的模板和插件生态。
Redis(5.0-7.0):推荐6.0,Redis是现在最受欢迎的NoSQL数据库之一。
Mysql(5.5-5.7):推荐5.6
准备两个域名,一个用来访问Typecho,一个用来访问RuleApi

最重要的是安装Redis,可以通过宝塔的应用中心直接搜索安装。对于Typecho,如果你需要网页端支持的话,请安装Typecho程序,如果你不需要,可以直接看下面的步骤安装RuleApi,配置完成后将提示你是否选择独立安装,选择是则可以独立安装RuleApi。

最后,执行如下指令,安装screen

yum install screen -y

screen是一款进程保护程序,可以让你就算退出了终端,指令也会继续运行。安装过程会让你输入y什么的,就直接输入y再Enter确定,如果没有也没关系。

千万千万别做如下的操作:

如果在服务器上自己安装Java环境,或者在宝塔软件中心安装Java和tomcat,这将直接导致API安装后无法运行,并且造成后续的一系列问题。

第二步:执行安装脚本

首先创建一个进程保护窗口,再进入opt文件夹

screen -S api
cd /opt

然后执行RuleApi一键安装脚本,暂时只兼容Centos6以上版本,最好7(测试阶段)

主节点:

wget https://www.ruletree.club/api/ruleapi.sh && sh ruleapi.sh install

备用节点(由此链接赞助支持:Whsebox Apple ID 共享、应用市场功能、软件仓库):

wget https://www.ruletree.club/ruleapi.sh && sh ruleapi.sh install

运行成功效果如下:
1.png
2.png

安装完成后,将服务器/opt文件夹中的apiResult.php文件,剪切到typecho网站的根目录

第三步:后续说明

脚本还提供其它管理选项,分别是如下:

注意,项目启动之后,运行日志将输出到/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

RuleApi更新

首先执行更新脚本(如果执行无效,点击下载最新版的sh,丢进/opt再试试执行):

sh /opt/ruleapi.sh update

该脚本会下载当前服务器最新版jar和最新版的脚本文件,并将新版的新版配置文件application.properties下载至/opt/upfile,更新过程并不会重启接口,请自己对照/opt/upfile中的配置文件,查看是否有新增项,然后修改/opt/application.properties,比对无误后,执行重启脚本:

sh /opt/ruleapi.sh restart

有时候更新会失败,比如我的服务器被攻击,或者更新包下载不下来(服务器配置不高,穷)。这个时候,可以去这个文章,直接下载最新版本的压缩包,首先停止接口运行,把jar上传到opt,然后对比最新版的application.properties修改自己的配置文件,再执行脚本重启生效。

RuleApp和RuleApi更新教程,后端及APP的快捷更新

更新到内测版

同时,你还可以根据如下指令更新到内测版本。内测版本可能会增加新的功能与支持,但也可能存在未知bug。

sh /opt/ruleapi.sh updateBeta

开机自启和宕机自启

目前脚本已经添加了monitor监听方法,执行后将检测RuleAPI是否正常运行,如果未运行状态则执行启动命令。具体指令如下:

sh /opt/ruleapi.sh monitor

所以,只需要让这个命令几分钟执行一次,监听项目是否运行正常,未运行就开始运行,就可以实现开机自启和宕机自启,以宝塔面板为例,直接在计划任务中增加如下的任务即可,间隔可以3分钟到10分钟,这样开启或者宕机后几分钟内就会自行启动。
screenshot-20221125-124326.png
screenshot-20221125-124422.png

更多配置

因为脚本安装只是完成基础的安装,更多的设置需要编辑/opt/application.properties文件,里面就可以配置包括对象存储,数据库前缀,图片key,和其它更加详细的信息等,修改完成后,通过执行重启指令生效。

sh /opt/ruleapi.sh restart

如何访问RuleAPi?

宝塔里额外创建一个网站(二级域名,千万别和其它网站共用),网站类型为静态就好,然后找到伪静态设置,加入如下代码保存。我的网站复制会自带版权信息,记得删除掉

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;
}

上述代码的用途是反向代理,并获取真实IP,且开始跨域。宝塔自带的反向代理功能比较复杂,所以省事的话,请采用上述的方法。其中127.0.0.1:8080就是你的内网接口地址,这里只需要改8080这个端口号(如果你定义了其它的话)

整个过程不要开启任何外网端口,切记!!!!

访问RuleApi主页面后,请点击这个选项,完成最终的安装。
请输入图片描述

这里建议安装宝塔免费的nginx防火墙,可以有效防止爆破接口或者刷垃圾数据。已经有用户出现通过快捷登陆接口刷垃圾数据的情况,后续的接口更新我也会做处理。
请输入图片描述

付费广告过期监听

付费广告模块在广告到期后,需要将广告变为下架状态,所以我提供了一个监听接口,加入宝塔的计划任务就好了。监听的地址如下:

接口地址/system/taskAds?webkey=接口访问KEY

可参考下图设置,周期小时或者分钟都可以,目的是让过期广告到期。
1.png

本地图片上传

RuleAPi集成了oss和cos两种对象存储上传,如果都没有或者不想用的话,就需要配置本地图片上传。其实很简单,直接新增一个网站,目录设置为如下:

/opt/files/static

然后在可视化配置中心,设置访问图片的网址:

screenshot-20220510-174411.png

最后将请求图片上传的接口修改为本地上传接口/upload/localUpload,以APP的接口为例。
screenshot-20220211-050718.png

配置邮件和对象存储?

访问之前的教程,跳过其它地方,直接看配置邮件和配置对象存储的地方
RuleApi详细安装教程,从环境到部署

如何更新脚本本身?

这个一键脚本我是会一直维护更新的,如果你本地的版本已经落后或者存在问题,可以通过下方的链接下载最新的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

最后

有任何问题都可以加群发言讨论,不要怕进去没人鸟,我会耐心解答(就是因为时差可能延迟)

QQ群号:692117682

如果服务器不是Centos7或者脚本安装没成功,可以手动安装,反正核心就是,只要有了java环境和Redis,就一切OK。

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/2786/
规则之树,2021年度总结
« 上一篇 01-13
RuleApp苹果端ios免签约打包教程,详细说明
下一篇 » 02-08
广告

发表评论

V注册会员 L评论等级
R20 条回复
  1. activeVLv.1 说道:
    2024-03-04     Win 10 /    Chrome

    我想用火车头实现自动采集和发布,请问登录接口和发布接口还有分类接口是哪个呢?

    1. 栀染Lv.1 说道:
      2024-03-09     Win 10 /    Chrome

      @active

      配合插件,我都是用的老插件爆改

  2. 米油嘻嘻Lv.1 说道:
    2024-01-14     Win 10 /    Chrome

    后期搬家数据也是存在数据库的,只是配置需要自己弄一下就好了么?说到搬家酒脑壳痛

    1. 不暇VLv.6 说道:
      2024-01-16     Android /    Chrome

      @米油嘻嘻

      在语雀那边有迁移教程,你可以去看看,不懂可以来交流群问。

  3. QQfriendsLv.1 说道:
    2023-04-18     Win 10 /    Chrome

    整个debian的啊大佬

    1. 不暇VLv.6 说道:
      2023-04-21     Win 10 /    Chrome

      @QQfriends

      我尽力

  4. 萧瑟Lv.1 说道:
    2022-09-23     Win 10 /    Chrome

    网址栏访问接口地址必须要加上端口号吗?可不可以直接域名打开

    1. 不暇VLv.6 说道:
      2022-09-23     Win 7 /    Chrome

      @萧瑟

      严格来说,如果你看完这个教程发现需要带端口号访问,说明你的配置漏了一步,或者直接是错误的。

  5. 九云VLv.1 说道:
    2022-07-25     Win 7 /    Chrome

    我问一下,虚拟主机搭建的typecho怎么安装?

    1. 不暇VLv.6 说道:
      2022-07-26     Android /    Chrome

      @九云

      暂时不支持虚拟主机安装,而且现在的这么多功能,虚拟主机也带不动的。

  6. 云散.VLv.4 说道:
    2022-07-21     Android /    Chrome

    不能复制我喔

    1. 不暇VLv.6 说道:
      2022-07-21     Win 7 /    Chrome

      @云散.

  7. kelvienVLv.1 说道:
    2022-05-26     Win 7 /    Chrome

    怎么让API一直开启? 我的好像过一段时间就自己关闭了

    1. 不暇VLv.6 说道:
      2022-05-27     Win 7 /    Chrome

      @kelvien

      除非重启服务器,API是不会自己关闭的。如果API因为重启或者其它操作关闭,可以通过脚本重启指令重启。

  8. 528609062VLv.1 说道:
    2022-04-27     Win 10 /    Chrome

    bbq,什么时候出个视频教程就好了

    1. 不暇VLv.6 说道:
      2022-04-27     Win 7 /    Chrome

      @528609062

      等我有空的时候折腾下

  9. testtestVLv.1 说道:
    2022-04-23     Win 10 /    Chrome

    QWQ

  10. linzihaiVLv.1 说道:
    2022-02-02     Android /    Chrome

    咋安装?

    1. 不暇VLv.6 说道:
      2022-02-02     Android /    Chrome

      @linzihai

      如果遇到问题,可以加交流群,直接问就好

      1. 小一Lv.1 说道:
        2022-12-01     Win 10 /    Chrome

        @不暇

        群满啦,可以开发一个插入位置的插件吗

        1. 不暇VLv.6 说道:
          2022-12-01     Win 7 /    Chrome

          @小一

          有三个群,你都可以加,其它的群都没满

没有更多评论了

作者信息

热门文章

标签TAG

热评文章