mblog源码编译部署

时间:2024-05-19 07:59:39
mblog源码编译部署

做软件开发多年,零零散散的也有一堆笔记了,刚好之前买来用做测试的阿里云服务器还有一年多有效期,不如就自己搭个博客系统来把这些笔记资料整理一下,是个总结也是个分享。工作中大部分用的都是Java,所以就找了下Java开源的一些开源博客,最终感觉使用Spring相关系列的mblog比较符合个人实际使用情况,于是打算使用mblog部署一个自己的博客。

1.源码下载编译
首先克隆源码到本地:git clone https://gitee.com/mtons/mblog.git

之后把源码导入eclipse或idea,我这里使用eclipse,如下图选择Maven工程:

mblog源码编译部署

Next下一步,点击Browser选择之前克隆下来的源码所在目录,如下图,在列出的Project里选中mblog的,之后Next到底,我这里截的图是已经导入过了,所以Next是灰色的。

mblog源码编译部署

导入之后,发现工程上标红点,即有错误,刷新和clean工程以及Update Project之后还是报错,如下图:

mblog源码编译部署

mblog源码编译部署

打开工程查看具体报错位置,发现是@slf4j 找不到log,如下图:

mblog源码编译部署

上网搜了一下,说是eclipse中没有安装Lombok插件的原因。

不过看工程里的pom.xml配置文件,是有lombok的,如下图:

mblog源码编译部署

找到这里已经下载的lombok文件,查看如下路径:

mblog源码编译部署

按照路径找到lombok-1.18.4.jar文件,然后拷贝到eclipse安装目录下,并打开终端运行java -jar lombok-1.18.4.jar来安装进去,如下图:
mblog源码编译部署

先会弹出如下警告提示框,点确定就可以了,如下:

mblog源码编译部署

接着选Specify location按钮,选择eclipse安装目录,然后点击Install/update,如下图:

mblog源码编译部署

安装成功之后,按照提示重启eclipse,如下图:
mblog源码编译部署

重启之后clean工程发现这个错误解决了,但还有一个地方报错,如下图:

mblog源码编译部署

这里paging4Admin方法参数对应不上,一个bug啊,按照原来定义方法修改参数:

mblog源码编译部署

这下终于没有错了。
mblog源码编译部署

接着修改src/main/resources/application-mysql.yml里的数据库账号和密码:

mblog源码编译部署

编译打包:选择工程mblog右键–Run As–Maven install

编辑结束最终生成mblog-latest.jar:

mblog源码编译部署

2.部署安装
先在服务器新建数据库db_mblog,这里用的服务器系统是Ubuntu,远程连接进去先进入数据库,再执行建库语句:

CREATE DATABASE db_mblog CHARACTER SET utf8;

mblog源码编译部署

再把mblog-latest.jar文件拷贝到远程服务器上,
mblog源码编译部署
使用ssh远程连接到服务器上,进入对应目录开始启动验证:
mblog源码编译部署
没一会儿,成功跑起来,数据库表也自动创建起来了,如下图:

mblog源码编译部署
mblog源码编译部署
打开浏览器,访问服务器配置的域名地址,成功打开页面,如下:
mblog源码编译部署

3.配置使用
使用默认管理员账号登录: admin/12345

再进入后台管理,如下:
mblog源码编译部署

在后台管理里就可以进行一些简单的配置了。不过这里我们用的端口号是8080,一般网站都用默认的80端口,如果要修改端口,这后台是没法改的,得在源码的配置文件src/main/resources/application.yml里改,如下:

mblog源码编译部署

修改之后重新编译生成jar包替换服务器上的jar包,再重启就可以了。

另外,这里直接使用java -jar xxx.jar的方式启动不太好,关掉窗口就会停止运行,所以要改成后台运行,而且日志文件也要处理。下面使用另一种方式启动。

1).把mblog-latest.jar拷贝到/usr/local/java/目录下
没有这个目录就创建。

2).新建软连接

sudo ln -s /usr/local/java/mblog-latest.jar /etc/init.d/mblog-latest

记得给mblog-latest.jar运行的权限:chmod a+x mblog-latest.jar

3).配置日志存储
以上配置之后执行: /etc/init.d/ mblog-latest start

就可以启动服务了,如下:
mblog源码编译部署

不过默认生成的日志会保存在这里:/var/log/ mblog-latest.log

我们把这个默认路径也改下,在/usr/local/java/下新建mblog-latest.conf,设置内容如下:

#JAVA_HOME=/usr/local/jdk

JAVA_OPTS=-Xmx1024M

LOG_FOLDER=/usr/local/java/logs

这样生成的日志文件就在/usr/local/java/logs目录下了。

4).按日期分割日志文件
前面配置的日志文件随着服务的运行会不断的增大,最终会导致服务器存储空间不够用,所以要定期处理这些日志文件。

一般日志文件可以按日期来存储,我们可以编写脚本来对日志文件进行分割,然后每天定时执行脚本就可以按照每天的日期来切割日志文件了。

这里新建脚本文件/usr/local/java/logs/log_bak.sh,内容如下:

#!/bin/bash

path=/usr/local/java/logs

end_name='.log'   

 #-------------------------------------

filename='mblog-latest'

file1=$path/$filename$end_name

echo $file1

    

 if [  -f "$file1" ];then 

            file2="$filename"_`date +"%Y%m%d-%H:%M:%S"`$end_name 

            echo $file2

         

           cp $file1 $file2 #复制    

           #统计文件行数n

           fileLines=`sed -n '$=' $file2`

           echo $fileLines

           fileLines=$(($fileLines+1))

           echo $fileLines

           tail -n +$fileLines $file1 > new_$filename

           cp new_$filename $file1

fi

exit 0

    #-----------------------------------------

至于切割之后的旧日期的日志文件,可以删除,也可以保存到其他地方(如OSS服务器)去保存管理。

这里定期删除,新建脚本/usr/local/java/logs/log_delete.sh,内容如下:

#!/bin/bash

find “/usr/local/java/logs/”  -ctime +7 -type f -name “*.log*” -print > deleted.txt

LogFile=/usr/local/java/logs/deleted_log.txt

echo -e “delete file:\n” >> $LogFile

cat deleted.txt | while read LINE

do

       rm -rf $LINE

       echo $LINE >> $LogFile

done

echo “------------------------------” >> $LogFile

接下来使用crontab来做定时清理:

编辑文件/etc/crontab:

vim /etc/crontab

添加内容:

0 1 * * * root /usr/local/java/logs/log_bak.sh
10 1 * * * root /usr/local/java/logs/log_delete.sh

保存之后重启cron服务:/etc/init.d/cron restart

OK,安装配置就到此结束了。

注意:本文归作者所有,转载请保留链接:http://www.mosiliang.top/post/1