RuleApp,基于typecho开发的APP

释放双眼,带上耳机,听听看~!

前言

RuleApp,一款功能全面,用户交互良好,数据本地缓存,集成邮箱验证,在线投稿,(内置Mardown编辑器),快捷评论的的博客资讯APP。同时兼容H5和微信小程序。

演示图片

RuleApp,基于typecho开发的APP
RuleApp,基于typecho开发的APP
RuleApp,基于typecho开发的APP

后端接口

基于Typoche博客程序开发,后端接口采用springboot框架,已经集成了COS和OSS对象存储,token登录验证,邮箱验证,redis数据缓存等,当然也可以自行对接其它的接口。

安装教程

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

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

链接:https://pan.baidu.com/s/1f8M0Vjt5RFui5jSvvmSwDw
提取码:c23v

Gitee(欢迎star):https://gitee.com/ruletree/RuleApi

接口文档:https://docs.apipost.cn/preview/12e2d0e7ab2f8738/9c7fd18771884cb2

最新的一键安装脚本已经出炉,可以迅速完成基础配置
RuleApi一键安装脚本,傻瓜式配置,超快速运行

https://www.ruletree.club/archives/2786/

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

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

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

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

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

source /etc/profile

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

yum install screen

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

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

因为有很多人在数据库配置那里遇到问题,可以参考如下信息配置。另外,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.运行成功的效果如下:

直接访问“服务器IP:端口号”查看效果,端口要提前开启

5.到上一步,就可以直接作为接口了,但是为了安全考虑,还需要配置域名(这样就可以不必开放外网端口)。其实也很简单,宝塔面板额外创建网站,设置反向代理,指向内网的127.0.0.1:你设置的端口号。

完成后,就可以直接通过域名访问接口了,不需要加端口号,还可以自己设置cdn之类的。

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

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

本地图片访问配置(非一键脚本安装)
下面这些配置很重要,请严格按照我完全一模一样的填写和配置来,不要在不明白springboot机制的时候,就开始自我发挥!

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

/opt/files/static

4.接着,继续配置application.properties,找到webinfo.uploadUrl,修改为上面那个新建网站的域名,记得加http或者https申明。

注意:对于老版本用户,也就是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邮箱获取授权码的案例。

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

然后填入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/
来源:https://www.ruletree.club/

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索