mblog源码编译部署
做软件开发多年,零零散散的也有一堆笔记了,刚好之前买来用做测试的阿里云服务器还有一年多有效期,不如就自己搭个博客系统来把这些笔记资料整理一下,是个总结也是个分享。工作中大部分用的都是Java,所以就找了下Java开源的一些开源博客,最终感觉使用Spring相关系列的mblog比较符合个人实际使用情况,于是打算使用mblog部署一个自己的博客。
1.源码下载编译
首先克隆源码到本地:git clone https://gitee.com/mtons/mblog.git
之后把源码导入eclipse或idea,我这里使用eclipse,如下图选择Maven工程:
Next下一步,点击Browser选择之前克隆下来的源码所在目录,如下图,在列出的Project里选中mblog的,之后Next到底,我这里截的图是已经导入过了,所以Next是灰色的。
导入之后,发现工程上标红点,即有错误,刷新和clean工程以及Update Project之后还是报错,如下图:
打开工程查看具体报错位置,发现是@slf4j 找不到log,如下图:
上网搜了一下,说是eclipse中没有安装Lombok插件的原因。
不过看工程里的pom.xml配置文件,是有lombok的,如下图:
找到这里已经下载的lombok文件,查看如下路径:
按照路径找到lombok-1.18.4.jar文件,然后拷贝到eclipse安装目录下,并打开终端运行java -jar lombok-1.18.4.jar来安装进去,如下图:
先会弹出如下警告提示框,点确定就可以了,如下:
接着选Specify location按钮,选择eclipse安装目录,然后点击Install/update,如下图:
安装成功之后,按照提示重启eclipse,如下图:
重启之后clean工程发现这个错误解决了,但还有一个地方报错,如下图:
这里paging4Admin方法参数对应不上,一个bug啊,按照原来定义方法修改参数:
这下终于没有错了。
接着修改src/main/resources/application-mysql.yml里的数据库账号和密码:
编译打包:选择工程mblog右键–Run As–Maven install
编辑结束最终生成mblog-latest.jar:
2.部署安装
先在服务器新建数据库db_mblog,这里用的服务器系统是Ubuntu,远程连接进去先进入数据库,再执行建库语句:
CREATE DATABASE db_mblog CHARACTER SET utf8;
再把mblog-latest.jar文件拷贝到远程服务器上,
使用ssh远程连接到服务器上,进入对应目录开始启动验证:
没一会儿,成功跑起来,数据库表也自动创建起来了,如下图:
打开浏览器,访问服务器配置的域名地址,成功打开页面,如下:
3.配置使用
使用默认管理员账号登录: admin/12345
再进入后台管理,如下:
在后台管理里就可以进行一些简单的配置了。不过这里我们用的端口号是8080,一般网站都用默认的80端口,如果要修改端口,这后台是没法改的,得在源码的配置文件src/main/resources/application.yml里改,如下:
修改之后重新编译生成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
就可以启动服务了,如下:
不过默认生成的日志会保存在这里:/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