当前位置:首页 > 杂项 > 正文内容

oneblog博客系统搭建

只想摆烂的运维2023-01-15 20:51:46杂项

最近发现一个比较好用的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基本架构:

oneblog架构.jpg

1、环境准备oneblog.png部署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

dblog.png

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:启动/停止所有

oneblog1.png

脚本内容:

启动脚本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页面:

http://localhost:18082

oneblog-web.png

后台管理页面:

http://localhost:18085

oneblog-admin.png

6、配置基本信息

在系统配置中填写网站相关配置信息

用户名==> 系统配置 ==> 基本信息

oneblog2.png

主域名:网站域名为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;
}
}

管理页面配置:

用户名==>系统配置==>云存储

填写域名,文件存储路径,点击保存

config_oneblog.png

扫描二维码推送至手机访问。

版权声明:本文由个人博客发布,如需转载请注明出处。

本文链接:https://opszzfwordpress.club/post/140.html

分享给朋友:

“oneblog博客系统搭建” 的相关文章

搭建wordpress

搭建wordpress

WordPress是基于PHP和MySQL的免费开源内容管理系统(CMS)。 它是全球使用最广泛的C...

cloudreve云盘部署

cloudreve云盘部署

官网:https://cloudreve.org/cloudreve是一个开源的云盘系统,可以使用c...

下载CSDN文章

下载CSDN文章

有些时候我们需要下载CSDN文章的内容,以下是下载CSDN网页文章的方法:1.打开要下载的网页2.按...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。