无需代码,宝塔面板Docker部署个人微博程序Mblog

前段时间才在《无需代码,宝塔面板Docker部署便签工具Memos》部署过Memos,前几天又在阮一峰的周刊上发现了一款与Memos和flomo非常相似的个人微博程序Mblog。

Mblog的项目地址是https://github.com/kingwrcy/mblog-backend,于我看来,Mblog是一款高仿Memos和flomo的程序,目前才开源一个多月,可以说是集Memos和flomo的优点于一身,真正做到了"模仿并超越"了。Mblog的作者非常的勤快,不断收集用户意见改进,做到了"大众化"!大家可以先到官网进行体验,地址是:https://mblog.cooolr.online

今天就来教大家如何在宝塔面板Docker下部署个人微博程序Mblog。

1.新建数据库。

官方上数据库是也是部署在Docker里的,既然宝塔面板下有MYsql数据库,我们就可以直接新建就不需要再多费一道事再去部署了。

注意:这里数据库访问权限一定要选择成"所有人(不安全)",否则的话后期服务端没权限写库。以后你要是怕不安全,等服务端创建好之后,可以改成指定IP,填上服务端的内网IP就可以了!

注意避坑:因为作者在开发的时候是使用的Mysql8.0,如果是低于这个版本的,一定要修改下Mysql的配置文件。

在宝塔面板的软件商店里找到你安装好的MYsql,在配置修改里找到"[mysqld]",在下面添加如下代码:

explicit_defaults_for_timestamp = true

一定要添加,否则安装安装服务端的时候就会报错。

2.安装服务端。

Mblog是前后端分离的,而且前后端可以安装在不同地方,比如可以把服务器安装在家里的NAS上,而前端可以安装在免费的CDN上。

2.1拉取服务端镜像。在官方库里,直接输入kingwrcy/mblog-backend:latest 进行拉取。 

2.2添加服务端容器。

容器名称:mblog-backend,后面的镜像不要选择错了。

把容器的端口和服务器的端口都映射下,都填38321,容器的端口必须填写38321,服务器的端口你可以自己随便设,只要不冲突就不行。

把容器的目录挂载出来,都填/opt/mblog/upload,这里一般都是以后上传的一些图片。后期可以在计划任务里设置对该目录自动备份,防止数据丢失。

在环境变量里填入以下代码:

MYSQL_USER=你的数据库用户名
MYSQL_PASS=你的数据库密码
MYSQL_URL=172.17.0.1:3306,这个IP是宿主机的内网IP。
MYSQL_DB=你的数据库名
MBLOG_FRONT_DOMAIN=http://你的公网IP:8181,注意:如果后期你想反代用域名访问的,这里需要填写你反代好的地址,比如https://mblog.laozhang.org
ENABLE_SWAGGER=true

避坑指南:内存一定要设置大于512M,否则服务器启动不了!切记!

2.3开放服务端内网IP访问3306端口。

在Docker的容器列表里查看下服务端的IP,一般是172.17.0.X,然后在安全设置对,放行该IP对3306的访问权。

老张在第一次搞的时候,老是不成功无法写入数据库,没办法请作者帮忙,从晚上八点多远程折腾到接近十二点,花了四个多小时也没有折腾好。后来准备第二天接着折腾,结果作者查到了是"防火墙"原因。便有了上面的解决。不知道为什么宝塔面板连自己的内网IP也都拦截!切记一定要放行!一定要放行!

3.安装前端

3.1在宝塔的Docker下直接拉取kingwrcy/mblog-front:latest镜像。

3.2添加前段容器

容器名:mblog-front;容器端口一定要填80,服务器端口可以随便设,这冲突就行,我这里设置的是8181

在环境变量里填入以下代码:

 MBLOG_SERVER_URL=mblog服务端地址,带http(s),有端口带端口,docker启动的这里是宿主机的IP,必填 \

注意了,如果你是想使用IP+端口来访问你的Mblog,那这里可以就直接填写http://公网IP+38321,如果你想反代,用域名访问,那这里就可以填写你反代的服务端的域名,比如我的是https://mblog2.laozhang.org

对了,不要忘了把38321和8181端口放行哟!到目前为止,可以正常使用。

这个时候你可能发现发布的内容时间不对,我们可以把下面这行代码同样也添加上Mysql的配置文件的[mysqld]下面,刷新下就可以正常了!

default-time_zone = '+8:00'

想使用反代用域名访问的,可以参考《宝塔面板反向代理,用域名访问Trilium》,但是这里一定要切记,前端需要反代,服务器也必须要反代!切记切记!

 

评论区

共 16 条评论
  1. 头像
    秦时明月 Lv1.萍水相逢
    官网都不能访问了,我刚搞了个halo的博客,主题里面有个说说《瞬间》,实现和微博一样的东西,也挺好的,主题也比较简洁,7788.plus
    2年前
    1. 头像
      老张 博主
      @秦时明月 这个应该是主题的一个功能吧,也不错。功能实现就好,不在乎方式。
      2年前
  2. 头像
    时雨 Lv1.萍水相逢
    6,感觉发现了新大陆
    2年前
    1. 头像
      老张 博主
      @时雨 可以试试,很不错。
      2年前
  3. 头像
    Teacher Du Lv5.熟稔有加
    感觉和Memos挺像!
    3年前
    1. 头像
      老张 博主
      @Teacher Du 是的,功能也类似
      3年前
  4. 头像
    灰常记忆 Lv6.推心置腹
    部署麻烦…… 只用php :idea:
    3年前
    1. 头像
      老张 博主
      @灰常记忆 一个Docker,非常简单了
      3年前
  5. 头像
    这下好了,刚接触 memos.现在又来一个 mblog 还自带评论。虽然两个应用差不多。我总觉得有点难以选择用那个比较好。 :evil:
    3年前
    1. 头像
      老张 博主
      @老陳网志 都折腾起来呗。
      3年前
  6. 头像
    林羽凡 Lv8.把酒言欢
    我看了下,好像还不错,我的待办系统,又多了一个参考对象。 :grin:
    3年前
    1. 头像
      老张 博主
      @林羽凡 还可以,功能在不断开发中。
      3年前
  7. 头像
    小熊 Lv3.点头之交
    这个教程很详细呀
    3年前
    1. 头像
      老张 博主
      @小熊 花了两个多小时。
      3年前
  8. 头像
    空空裤兜 Lv1.萍水相逢
    配置比memos麻烦点,但是界面更好点,也有评论。
    3年前
    1. 头像
      老张 博主
      @空空裤兜 已经和作者反馈了,马上就会出前后端不分离的版本,只需要部署一个Docker即可。
      3年前
😊