让回忆有迹可循——Memos

星橙
2023-07-05 / 1 评论 / 1,602 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年07月05日,已超过522天没有更新,若内容或图片失效,请留言反馈。

前言

你是不是经常会有突然的灵感浮现在你的脑海,你是不是突然灵光乍现却无处记录,使用过许多Memo类软件,但却不是被广告困扰就是需要支付高昂的会员费用,且自己的隐私不能得到保证。。。

现在你不用担心这些啦,免费开源的Memos来啦,可以把他部署到自己的服务器上,自己管理自己的Memo,可能你会说,网页使用不方便,但是它有小程序和APP,服务端都是可以用自己的,今天我就教大家搭建Memos的服务端和小程序。

我在使用Memos的时候,一开始使用的网页端,感觉平平无奇,但自从我部署小程序之后,那丝滑的多平台过度,随时可查阅的状态,归档,置顶,分享,这些功能真的是太香了!

展示

web

小程序

准备

购买服务器和域名

首先要购买服务器和域名,正好赶上腾讯云活动,大家可以参考选择:https://curl.qcloud.com/UEOWtRfF

我这里购买的是2C4G5M的服务器,大家也可以按需选购。

image-20230704204832783

拥有了服务器和域名之后我们进行下一步操作。

宝塔安装

首先,登录你购买服务器厂商的控制台,我这里用的是腾讯云轻量应用服务器,系统选择的是Centos7.6。

image-20220213100804144

找到你的服务器之后点击右上角的登录按钮(如果不喜欢这种方式登录可以选择自己喜欢的方式:putty,xshell,terminal 等等)当然如果选用其他方式记得先重置密码还在在购买的时候就创建密码,不然无法登录。

image-20220213101412208

输入管理员指令:sudo -i

image-20220213101617825

接下来输入命令安装宝塔

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

PS:如果没有宝塔账户先去注册一下,注册链接:https://www.bt.cn/?invite_code=MV9obmppdmo=

安装成功后会看到下面的界面:

image-20220213102136068

接下来我们去防火墙开一下宝塔面板的8888端口:

image-20220213102422633

然后访问外网链接访问宝塔面板并输入账户密码登录,第一次登录会让你阅读协议并登录宝塔账户(就是刚才注册的)

image-20220213102748975

image-20220213102811156

选择LNMP一键安装,PHP版本可以选高一点。

image-20220213102935618

安装完成后来新建一个站点:

image-20220213104644948

这个域名要事先在域名控制台做解析哦。

image-20220213110336936

开始安装

要使用 docker-compose部署备忘录,创建一个包含以下内容的调用文件:docker-compose.yml

version: "3.0"
services:
  memos:
    image: neosmemo/memos:latest
    container_name: memos
    volumes:
      - ~/.memos/:/var/opt/memos
    ports:
      - 5230:5230

现在,可以运行以开始Memos:docker-compose up -d

根据需要编辑数据目录的端口和路径。但是,只更改第一个端口8081。第二个端口是备忘录在容器内侦听的端口,目录也是如此,第一个路径是主机系统上的路径,第二个路径是容器内的路径。

然后,您可以使用 docker-compose up -d 运行Memos。

使用 nginx 作为反向代理

运行备忘录后,您可以使用 nginx 进行反向代理,将域名连接到您的实例。

创建一个包含以下内容的调用文件:/etc/nginx/sites-available/your-domain-name.com

server {
    server_name your-domain-name.com;

    location / {
        proxy_pass http://localhost:5230;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

现在,您可以使用sudo ln -s /etc/nginx/sites-available/your-domain-name.com /etc/nginx/sites-enabled/your-domain-name.com 启用站点。然后重新启动 nginx。命令为:sudo systemctl restart nginx

如果你安装了宝塔,则可以在刚刚网站里面一键反向代理。

静态存储地址

应用 SSL 证书的最简单方法是使用 Let's Encrypt。可以使用 Certbot 获取证书。为此,请首安装 certbot。然后,您可以使用sudo apt install certbotsudo certbot --nginx -d your-domain-name.com获取证书。确保域名已指向您的服务器。Certbot将尝试创建证书并将其安装到您的nginx配置中。如果它已成功执行此操作,则如下所示的几行将添加到您的配置文件中:``

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/your-domain-name.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/your-domain-name.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

使用 sudo systemctl restart nginx命令来运行

将备忘录升级到最新版本

要将备忘录升级到最新版本,您需要先停止并删除旧容器:

docker stop memos && docker rm memos

建议备份数据库,但可以选择:

cp -r ~/.memos/memos_prod.db ~/.memos/memos_prod.db.bak

然后拉取最新镜像:

docker pull ghcr.io/usememos/memos:latest

最后,按照 Docker 运行部分中的步骤再次启动备忘录。

这样服务端就部署完毕了。接下来我们部署小程序端。

小程序介绍

目前功能有:

  • 浏览 memos,支持解析部分 memos 语法,使用的是修改版的原 memos 解析方法
  • 发送 memo,支持多个语法快捷键
  • 编辑 memo,归档,删除,置顶
  • 切换用户
  • 内容缓存到手机,没有网络的环境也可以查看,后续可能考虑推出一个单机版?
  • 注册及登录
  • 搜索功能,按内容/TAG/日期(首页热点图)
  • sidebar 热点图,以及用户其他设置
  • 根据用户设置,自动切换语言
  • 完整 darkmode 支持
  • 分享单条 memo 页面
  • 资源库,上传图片,发布带文件的memo
  • 部署后端外挂后,开启自动注册登录与微信绑定的账号

小程序部署

  1. 申请一个微信小程序,类目选择 工具-备忘录开发-开发管理-服务器域名-request合法域名 填写你搭建 memos 的域名。
  2. 本地创建一个文件夹,拉取项目
git clone https://github.com/Rabithua/memos_wmp
  1. 下载微信小程序开发者工具
  2. 导入当前文件夹,选择测试号或者使用你注册好的微信小程序的 appid ,不使用云开发。
  3. app.js 中修改 globalData.url 为你自己的域名,globalData.ifWechatLogin 修改为false。
  4. 不出意外的话编译完毕你就可以看到麦默的欢迎界面了🎉
  5. 尝试输入用户名和密码,看是否登陆成功,如果没有注册按钮是因为没有开启公共注册。
0

评论 (1)

取消
  1. 头像
    勿忘初心
    Windows 10 · Google Chrome

    您好,看你的站做的挺不错的,有没有出手的打算,想出手的话,联系QQ1587894193。

    回复