Jireh程序猿的那些事 Jireh程序猿的那些事

记录分享生活、程序、信息的精彩人生

目录
宝塔部署最新版Solo博客
/  

宝塔部署最新版Solo博客

宝塔部署最新版Solo博客,并每天自动更新升级。

基础环境

  • 宝塔
  • Mysql
  • Docker

以上为基础环境,怎么搭建基础环境就不再赘述了

新建站点、数据库

image.png

在网站中新建站点,填入域名,选择创建数据库。

image.png

记录数据库相关配置

配置计划任务

image.png

在计划任务中,添加新的计划任务,选择Shell脚本,执行周期按照自己的需求更改,我这里是每天

然后在脚本内容中填入如下配置

#!/bin/bash

#
# Solo docker 更新重启脚本
#
# 1. 请注意修改参数
# 2. 可将该脚本加入 crontab,每日凌晨运行来实现自动更新
#

restart_solo(){
	docker stop solo
	docker rm solo
	docker run --detach --name solo --network=host \
	--env RUNTIME_DB="MYSQL" \
	--env JDBC_USERNAME="you mysql user" \
	--env JDBC_PASSWORD="you mysql user password" \
	--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" \
       	b3log/solo --listen_port=8080 --server_scheme=https --server_host=you domain
}

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

注意修改以上配置中的数据库相关配置为自己的配置,端口8080如果占用,请修改成其他的,server_host中填入自己的域名

配置Nginx

配置HTTPS/SSL

image.png

配置反代

如果需要配置https的,首先配置https证书,否则会有冲突。

image.png

新建反向代理,按照以上示例填写。

完整视频教程

视频地址:https://www.bilibili.com/video/BV1uK4y1j7gi/

https://www.bilibili.com/video/BV1uK4y1j7gi/


如果觉得这篇文章不错的话,请我喝一杯 咖啡☕吧
标题:宝塔部署最新版Solo博客
作者:Jireh
地址:https://jireh.xyz/articles/2020/11/20/1605840328957.html
本作品由 Jireh 采用 署名 – 非商业性使用 – 禁止演绎 4.0 国际许可协议进行许可,转载请注明出处。