宝塔安装solo博客

Updated on with 1,019 views

基础环境

1.宝塔

2.MySQL

3.Docker

首先在服务器上安装宝塔,具体教程参考宝塔官网

宝塔安装完成之后,在应用商店搜索并安装MySQL和Docker

image.png

新建站点及数据库

如下图,注意数据库编码,并记录数据库用户名和密码,后面要用到

image.png

新增计划任务

image.png

具体脚本内容如下,注意修改里面的数据库用户名和密码(新建网站时保存的),listen_port根据需要修改,server_host修改为自己的域名

#!/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

配置Nginx

首先配置https/ssl证书,然后配置反向代理,不然会出现冲突

配置https/ssl证书

image.png

配置反向代理

其中目标URL是自己的服务器IP,后面的端口号是计划任务中的listen_port

image.png

至此,solo博客已经完成了,打开新建网站的域名就看到了。



标题:宝塔安装solo博客
作者:yanjing
地址:https://yanjingtp.cn/articles/2022/02/09/1644418216259.html