RuleApi详细安装教程,从环境到部署

本文阅读 9 分钟
广告

这个教程将从搭建环境开始,讲述RuleApi从打包到发布的全过程,而且作为springboot开发的应用(现在这个框架已经特别流行),所以完全不像大部分人以为的那样,部署起来复杂麻烦。本质上,根本不需要懂JAVA,也不需要懂什么tomcat的配置,直接打包和运行命令就可以直接开始了。
RuleApi是一套功能完善的typecho接口程序。

下载地址(安装就下载这个包,切记!!!持续更新):

链接:https://pan.baidu.com/s/1zz3ENNGABvlKBd7cnFjmGg 
提取码:tnkl 

Gitee(欢迎star):点击进入

Github(欢迎star):点击进入

接口文档:点击进入

所有安装问题都可以加入QQ交流群讨论,我会耐心解答:675025692

最新的一键安装脚本已经出炉,可以迅速完成基础配置

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

如果不想看文字,也可以看视频

环境准备:

1.首先,RuleApi是可以不和网站安装在同一个服务器的,在安装之前,请将项目目录底下的apiResult.php上传到typecho网站的目录底下。编辑apiResult.php就可以设置更新接口,具体可以自己摸索。
111.png

2.随后,我使用的部署环境是CentOS,安装了宝塔面板,所以首先要做的,是确认安装了nginx或者apache(一般只要装了网站都有),然后去宝塔的软件商店安装Redis(没用宝塔面板就自己指令安装吧,也都差不多)。安装完成后为了安全考虑可以设置密码。
r2.png

3.安装java环境,可以用我准备好的jdk的linux版安装包,通过宝塔面板上传到服务器根目录的opt目录下,然后解压,重命名为jdk1.8
r4.png

jdk下载地址:

链接:https://pan.baidu.com/s/1_ftWmCzbFyFsVv02Oluj7Q 
提取码:l96k 

4.然后用宝塔面板打开服务器根目录下的/etc里面的profile文件,将如下丢到文件的最后。

export JAVA_HOME=/opt/jdk1.8
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

r3.png

5.最后打开终端,执行如下指令,环境安装完成

source /etc/profile

项目运行:

1.打开linux终端,安装screen,主要是用来保护进程。

yum install screen

2.确认一下java环境安装是否正常,如果不正常就再执行一次source /etc/profile,或者检查jdk的文件目录和profile文件的配置。
r13.png

3.将下载的安装包解压到服务器目录,比如我解压在opt,然后直接编辑application.properties文件,设置从运行的端口,数据库,到redis,到网站基本信息,到缓存...最后到对象存储等。然后务必记得将发布包目录下的apiResult.php文件放在typecho网站的根目录,主要用于协助安装和更新
11.png
22.png

因为有很多人在数据库配置那里遇到问题,可以参考如下信息配置。另外,redis默认安装完是没有密码的,可以自己设置,也可以完全不动,毕竟大多数时候是内网环境

# mysql配置
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=UTF-8
spring.datasource.username=数据库用户名
spring.datasource.password=数据库密码
# mysql数据表前缀,如果没改过就别动
mybatis.configuration.variables.prefix=typecho

4.进入你存放安装包(里面带jar文件)文件夹,依次执行如下运行命令

screen -S 窗口名称(用英文)
cd /opt
java -jar 打包出来的名称.jar

5.运行成功的效果如下:
r14.png
r15.png

5.到上一步,就可以直接作为接口了,但是为了安全考虑,还需要配置域名。其实也很简单,宝塔面板额外创建网站,网站类型为静态就好,然后找到伪静态设置,加入如下代码保存。我的网站复制会自带版权信息,记得删除掉

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,且开始跨域。宝塔自带的反向代理功能比较复杂,所以省事的话,请采用上述的方法。在这个基础上,可以继续挂cdn之类的。其中127.0.0.1:8080就是你的内网接口地址,这里只需要改8080这个端口号(如果你定义了其它的话)

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

6.访问运行主页的时候,记得点击“初次安装执行”,这样就可以完成全部的安装步骤。(其实本来这里不需要用户执行的,但是自己来一下会更有参与感),这里多次执行也没事,程序会自动识别是否创建数据表或者字段。新版本开始,会有可视化管理中心,默认的密码是123456,进入后请及时修改。
screenshot-20220108-045024.png

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

本地图片访问配置(非一键脚本安装)

下面这些配置很重要,请严格按照我完全一模一样的填写和配置来,不要在不明白springboot机制的时候,就开始自我发挥!

1.部署在linux时,如果采用本地上传接口上传图片,那么图片将会存在临时文件夹中,如果项目重启或者更换,将可能导致数据丢失。所以需要手动创建以下文件,并新建一个网站,设置网站目录为如下:

/opt/files/static

2.接着,在API的可视化配置中心,设置图片访问的网址。

screenshot-20220510-174411.png

注意:对于老版本用户,也就是2022/03/03之前安装RuleApi的用户,如果使用的是本地上传接口,请将/opt/file:/opt/RuleApi.jar!/BOOT-INF/classes!下的static文件,移动到/opt/file/static中,如果没有就自己创建。

邮箱发送和图片key配置

1.邮箱发送直接参考各个邮箱的配置方式,一般只需要配置三个东西。host是根据邮箱的不同设置不同,以不同邮箱官方为准,配置文件application.properties中代码如下。

spring.mail.host=smtp.qq.com
spring.mail.username=邮箱地址(XXX@qq.com)
spring.mail.password=各种不同邮箱的授权码或者密码

下图是QQ邮箱获取授权码的案例。
QQ邮箱
QQ邮箱

2.APP中有个图库的功能,这里是获取pexels的免费无版权图片,后期可能会基于此开发文章插图功能,所以建议获取。直接前往这个地址注册并验证邮箱即可,完全是免费的:点击进入
6.png

然后填入application.properties的指定字段。

webinfo.pexelsKey=Pexels获取的用户API Key

对象存储OSS和COS配置

OSS配置案例如下:

aliyun.endpoint=oss-cn-beijing.aliyuncs.com(这里是地域节点地址)
aliyun.accessKeyId=
aliyun.accessKeySecret=XXX(你的accessKeySecret)
aliyun.bucketName=存储桶名称
aliyun.urlPrefix=存储桶外网访问地址
oss.filePrefix=api(文件夹前缀,必填)

COS配置案例如下:

spring.cos.accessKey=accessKey密钥
spring.cos.secretKey=secretKey密钥
spring.cos.bucket=ap-guangzhou(地域节点)
spring.cos.bucketName=ruletree(存储桶名称)
spring.cos.path=https://cdn.ruletree.club(对象存储外网访问地址)
spring.cos.prefix=api(文件夹前缀,必填)

更新和停止

具体的更新可以看这个教程:RuleApp和RuleApi更新教程,后端及APP的快捷更新

1.首先查询你的jar是否在运行。

ps aux | grep  打包出来的名称.jar

2.然后根据信息停止进程。

kill -9 进程号

3.更新就是完成上述操作后,将新的jar包再运行就好。

screen -S 窗口名称(用英文)
cd /opt
java -jar 打包出来的名称.jar
您的大名:
万水千山总是情,给个打赏行不行。 打赏
本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/2661/
RuleApi,基于Typcho程序开发的多功能API,开源发布
« 上一篇 12-04
东方子夜:雪儿
下一篇 » 12-25
广告

发表评论

V注册会员 L评论等级
R2 条回复
  1. 武玥学长VLv.2 说道:
    2022-05-20     Android /    Chrome

    小白看的还是有点懵,只能慢慢学习了

  2. adminuserVLv.1 说道:
    2021-12-17     Win 10 /    Chrome

    感谢分享,学习了!

  3. 不暇VLv.6 说道:
    2021-12-10     Android /    Chrome

    安装总结来说只需要运行jar,经过几天的测试已经确认不占用性能,所以Typecho用户都可以安装试试。

没有更多评论了

作者信息

热门文章

标签TAG

热评文章