利用宝塔面板部署 Solo 博客的方法

本贴最后更新于 268 天前,其中的信息可能已经事过景迁

摘要

近期学习后端知识,涉及到服务器的使用时看到很多大佬自己注册域名自己搭建服务器部署了个人博客,于是本人也跃跃欲试想部署一个属于自己的个人博客,因为自己写博客框架工程量太大,于是打算使用现成的东西。在对比了 WordPress、Z-Blog、emlog 后,最终在 github 找到了 B3log 开源的 Solo 博客。Solo 博客界面简洁大方戳中了我的喜好 hhhhh……

部署方法

因为是服务器小白,最初选择了使用宝塔面板部署。宝塔面板的图形化操作对小白来说非常友好。宝塔面板部署也很简单,根据官网操作即可(传送门

部署时参考了其他大佬的部署方法(传送门),不过因为代码上有一些小区别出现了差错,研究了半天重新部署后成功了。其实基本和大佬的方法一模一样(doge),只是在 listen_port、server_scheme、server_host、server_port 这几个设置按照 github 上的范例写的。

基础环境

  • 宝塔
  • Mysql
  • Docker

新建站点、数据库

image.png

开启计划任务

image.png

添加计划任务,自定义任务名称

#!/bin/bash

restart_solo(){
	docker stop solo
	docker rm solo
	docker run --detach --name solo --network=host \
    	--env RUNTIME_DB="MYSQL" \
    	--env JDBC_USERNAME="solo" \#数据库用户名
    	--env JDBC_PASSWORD="123456" \#自己建立的数据库密码
    	--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    	--env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
    	b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=#下面这部分基本不用改,按照github中作者的解释写即可

}

update_solo(){
  echo "Pulling Solo's image"
	isUpdate=$(docker pull b3log/solo | grep "Downloaded")
	if [[ -z $isUpdate ]]
	then
		echo "Solo is up to date"
	else
		restart_solo >> /dev/null 2>&1
		echo "Restarted Solo"
	fi
}

# 检查当前容器状态,如果状态正常进行升级操作,否则重新进行部署
update_and_test_service(){
	isCrash=$(docker ps | grep "b3log/solo")
	if [[ -z $isCrash ]]
	then
		echo "Solo's status is unexpected, trying to restart it"
		docker pull b3log/solo
		restart_solo
		sleep 5
		isSecondCrash=$(docker ps | grep "b3log/solo")
		if [[ -z $isSecondCrash ]]
		then
			echo "Failed to restart Solo, please check logs via 'docker logs solo'"
		fi
	else
		update_solo
	fi
}

update_and_test_service

将代码复制到记事本改好自己的配置信息粘贴到“脚本内容”内,点击保存后在下面的任务列表点击执行,查看日志是否成功,成功后即可进入设置的域名进行博客配置了!

配置反代

image.png

  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    534 引用 • 3528 回帖
1 操作
Ms1254 在 2023-08-11 11:06:27 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...