oneblog博客系统搭建
最近发现一个比较好用的java开源博客平台:oneblog,所以尝试搭建了一下
官网:
https://gitee.com/yadong.zhang/DBlog/wikis/OneBlog-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B
https://gitee.com/yadong.zhang/DBlog
oneblog基本架构:
1、环境准备
部署java环境:
JDK包 1.8版本
部署maven环境:
maven 3.5.3版本二进制包
注意,将java环境变量写入maven/bin/mvn中:JAVA_HOME=/oneblog/jdk/
下载安装目录:
在服务器上执行git clone https://gitee.com/yadong.zhang/DBlog.git下载安装文件
建立目录,用户,设置权限:
- mkdir /oneblog
- useradd oneblog
- chown -R oneblog:oneblog /oneblog
- usermod -md /oneblog oneblog
2、配置数据库
创立dblog库:
- mysql> create database dblog character set utf8 collate utf8_bin;
建立数据库用户管理dblog库:
- mysql> GRANT ALL PRIVILEGES ON wordpress.* TO'wordpress'@'%' IDENTIFIED BY'******';
导入数据库并初始化:
数据库相关的文件在oneblog/docs/docker/mysql/目录下:dblog.sql、init_data.sql
- mysql -uroot -p dblog < dblog.sql
- mysql -uroot -p dblog < init_data.sql
3、编辑配置文件
web页面访问端口:
- vim oneblog/blog-web/src/main/resources/application.yml
- port: 18082
管理界面访问端口:
- vim oneblog/blog-admin/src/main/resources/application.yml
- port: 18085
数据库信息:
- vim oneblog/blog-core/src/main/resources/config/application-center.yml
- mysql:
- ${ONEBLOG_DATASOURCE_HOST:127.0.0.1} ##mysql服务器地址
- ${ONEBLOG_DATASOURCE_PORT:13309} ##mysql端口
- ${ONEBLOG_DATASOURCE_DATABASE_NAME:dblog} ##mysql库名称
- ${ONEBLOG_DATASOURCE_USERNAME:dblog} ##连接用户名称
- ${ONEBLOG_DATASOURCE_PASSWORD:1911Xhgm..} ##连接用户密码
-
- ##redis:
- host: ${ONEBLOG_REDIS_HOST:127.0.0.1} ##redis服务器地址
- port: ${ONEBLOG_REDIS_PORT:16379} ##redis端口
- password: ${ONEBLOG_REDIS_PASSWORD:} ##Redis服务器连接密码(默认为空)
4、进行项目构建
- cd oneblog/docs/bin/
- ./build.sh
注意,如果非yum方式安装maven且未添加环境变量,在执行脚本前,需要将脚本中maven路径进行修改:
/oneblog/maven/bin/mvn -X clean package -Dmaven.test.skip=true -Pdev
构建完成后,切换到oneblog用户,启动项目:
- su - oneblog
- cd /oneblog/oneblog
- /oneblog/oneblog/jdk/bin java -jar blog-web/target/blog-core.jar ##访问界面
- /oneblog/oneblog/jdk/bin java -jar blog-admin/target/blog-admin.jar ##后台管理界面
由于是前台执行,关闭远程连接后项目会关闭,因此启动没问题后,需要放到后台执行:
- nohup /oneblog/oneblog/jdk/bin java -jar blog-web/target/blog-core.jar &
- nohup /oneblog/oneblog/jdk/bin java -jar blog-admin/target/blog-admin.jar &
配置启停脚本来进行oneblog的开启、关闭
将脚本放置在oneblog/script目录下
启动脚本:one_start.sh
停止脚本:one_stop.sh
进入oneblog/script目录,执行脚本
执行参数:
web:启动/停止onelog前端页面
admin:启动/停止oneblog管理平台
all:启动/停止所有
脚本内容:
启动脚本one_start.sh
- #!/bin/bash
- if [ `whoami` != 'oneblog' ];then
- echo "!!please run oneblog script by oneblog!!"
- exit 10
- fi
-
- stva=$1
- if [ "$stva" = "" ];then
- echo "please print start option[web|admin|all]"
- exit 10
- elif [ "$stva" != "admin" ] && [ "$stva" != "web" ] && [ "$stva" != "all" ];then
- echo "print start option error[web|admin|all]"
- exit 10
- fi
-
- ##启动oneblog web
- oneweb(){
- ##判断文件是否存在
- if [ ! -e "/oneblog/oneblog/blog-web/target/blog-web.jar" ];then
- echo "!!oneblog web jar package not exist!!"
- return 1
- fi
-
- nohup /oneblog/jdk/bin/java -jar /oneblog/oneblog/blog-web/target/blog-web.jar &
- if [ $? -eq 0 ];then
- echo "oneblog web start successful"
- webpid=`ps -ef | grep 'java -jar.*blog-web.jar' | grep -v 'grep' | awk '{print $2}'`
- echo "$webpid" > /oneblog/oneblog/oneweb.pid
- else
- echo "!!oneblog web start failed!!"
- fi
- }
-
- oneadmin(){
- if [ ! -e "/oneblog/oneblog/blog-admin/target/blog-admin.jar" ];then
- echo "!!oneblog admin jar package not exist!!"
- return 1
- fi
-
- nohup /oneblog/jdk/bin/java -jar /oneblog/oneblog/blog-admin/target/blog-admin.jar &
- if [ $? -eq 0 ];then
- echo "oneblog admin start successful"
- adpid=`ps -ef | grep 'java -jar.*blog-admin.jar' | grep -v 'grep' | awk '{print $2}'`
- echo "$adpid" > /oneblog/oneblog/oneadmin.pid
- else
- echo "!!oneblog admin start failed!!"
- fi
-
- }
-
- if [ "$stva" = 'web' ];then
- oneweb
- elif [ "$stva" = 'admin' ];then
- oneadmin
- elif [ "$stva" = 'all' ];then
- oneweb
- oneadmin
- fi
停止脚本one_stop.sh:
- #!/bin/bash
-
- ##判断是否使用oneblog用户执行脚本
- if [ "`whoami`" != 'oneblog' ];then
- echo "!!please run oneblog script by oneblog!!"
- exit 10
- fi
-
- sova=$1
- if [ "$sova" = "" ];then
- echo "please print start option[web|admin|all]"
- exit 10
- elif [ "$sova" != "admin" ] && [ "$sova" != "web" ] && [ "$sova" != "all" ];then
- echo "print start option error[web|admin|all]"
- exit 10
- fi
-
- oneweb(){
- webpid=`cat /oneblog/oneblog/oneweb.pid 2>/dev/null`
- if [ ! -n "$webpid" ];then
- echo "!!oneblog web pid file not exist!!"
- return 1
- fi
-
- kill -9 $webpid
- if [ $? -eq 0 ];then
- echo "oneblog web stop successful"
- rm -rf /oneblog/oneblog/oneweb.pid
- else
- echo "!!oneblog web stop failed!!"
- fi
- }
-
- oneadmin(){
- adpid=`cat /oneblog/oneblog/oneadmin.pid 2>/dev/null`
- if [ ! -n "$adpid" ];then
- echo "!!oneblog admin pid file not exist!!"
- return 1
- fi
-
- kill -9 $adpid
- if [ $? -eq 0 ];then
- echo "oneblog admin stop successful"
- rm -rf /oneblog/oneblog/oneadmin.pid
- else
- echo "!!oneblog admin stop failed!!"
- fi
-
- }
-
- if [ "$sova" = 'web' ];then
- oneweb
- elif [ "$sova" = 'admin' ];then
- oneadmin
- elif [ "$sova" = 'all' ];then
- oneweb
- oneadmin
- fi
5、访问网站
web页面:
后台管理页面:
6、配置基本信息
在系统配置中填写网站相关配置信息
用户名==> 系统配置 ==> 基本信息
主域名:网站域名为http://file.bbb.com,那么主域名就是bbb.com,也可以填写为web页面访问的域名地址
博客地址:web页面访问的域名地址
站点图标:格式为http://ip/img/favicon.ico,将ip改为web访问的地址
资源文件域名:与博客地址相同
管理系统地址:后台管理平台的域名地址
因为oneblog默认是没有上传文件功能的,所以需要搭建一个文件服务器来实现文件上传功能,这里选择nginx来搭建文件服务器
nginx服务器配置:
- server {
- listen 80;
- server_name serverName;
- root serverPath;
- error_page 403 /error.html;
- location = /error.html {
- return 404;
- }
- autoindex off;
- autoindex_exact_size off;
- autoindex_localtime off;
-
- location ^~ / {
- proxy_set_header Host $host:$server_port;
- }
-
- location ~*\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar|js|css)$ {
- expires 30d;
- #valid_referers serverReferers; ##防盗链有关配置,可以不用添加
- if ($invalid_referer) {
- rewrite ^/ serverLogoPath;
- }
- }
管理页面配置:
用户名==>系统配置==>云存储
填写域名,文件存储路径,点击保存