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

Auth:老张       Date:2023/05/28       Cat:电脑网络       Word:共1962字

◷2023/05/28   👁浏览:2.2K   🗨14条评论
文章目录 「隐藏」
  1. 1.新建数据库。
  2. 2.安装服务端。
  3. 3.安装前端

前段时间才在《无需代码,宝塔面板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 - 第1张图片

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

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

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

explicit_defaults_for_timestamp = true

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

无需代码,宝塔面板Docker部署个人微博程序Mblog - 第2张图片

2.安装服务端。

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

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

2.2添加服务端容器。

无需代码,宝塔面板Docker部署个人微博程序Mblog - 第4张图片

容器名称: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 - 第5张图片

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

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

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

无需代码,宝塔面板Docker部署个人微博程序Mblog - 第6张图片

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

3.安装前端

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

3.2添加前段容器

无需代码,宝塔面板Docker部署个人微博程序Mblog - 第7张图片

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

 

《无需代码,宝塔面板Docker部署个人微博程序Mblog》留言数:14

  1. 老张博客-老陳网志老陳网志

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

    4楼 回复

发表留言