宝塔部署最新版 Solo 博客

本贴最后更新于 1615 天前,其中的信息可能已经时异事殊

宝塔部署最新版 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

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

完整视频教程

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1441 引用 • 10068 回帖 • 494 关注
  • 宝塔

    天王盖地虎,宝塔镇河妖。

    27 引用 • 78 回帖

相关帖子

欢迎来到这里!

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

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