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

  • 1,552 views
  • 阅读模式

前段时间才在《无需代码,宝塔面板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数据库,我们就可以直接新建就不需要再多费一道事再去部署了。

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

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

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

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

explicit_defaults_for_timestamp = true

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

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

2.安装服务端。

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

2.1拉取服务端镜像。在官方库里,直接输入kingwrcy/mblog-backend:latest 进行拉取。 无需代码,宝塔面板Docker部署个人微博程序Mblog

2.2添加服务端容器。

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

容器名称: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

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

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

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

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

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

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

3.安装前端

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

3.2添加前段容器

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

容器名: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》,但是这里一定要切记,前端需要反代,服务器也必须要反代!切记切记!

 

老张
  • 本文由 发表于 2023 年 5 月 28 日 15:58:35
评论  14  访客  7  作者  7
    • 空空裤兜
      空空裤兜 1

      配置比memos麻烦点,但是界面更好点,也有评论。

        • 老张
          老张

          @ 空空裤兜 已经和作者反馈了,马上就会出前后端不分离的版本,只需要部署一个Docker即可。

        • 小熊
          小熊 4

          这个教程很详细呀

            • 老张
              老张

              @ 小熊 花了两个多小时。

            • 林羽凡
              林羽凡 5

              我看了下,好像还不错,我的待办系统,又多了一个参考对象。 :grin:

                • 老张
                  老张

                  @ 林羽凡 还可以,功能在不断开发中。

                • 老陳网志
                  老陳网志 0

                  这下好了,刚接触 memos.现在又来一个 mblog 还自带评论。虽然两个应用差不多。我总觉得有点难以选择用那个比较好。 :evil:

                  • 灰常记忆
                    灰常记忆 4

                    部署麻烦…… 只用php :idea:

                    • Teacher Du
                      Teacher Du 3

                      感觉和Memos挺像!

                        • 老张
                          老张

                          @ Teacher Du 是的,功能也类似

                        • 时雨
                          时雨 1

                          6,感觉发现了新大陆

                            • 老张
                              老张

                              @ 时雨 可以试试,很不错。

                          匿名

                          发表评论

                          匿名网友 填写信息

                          :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                          确定