你是不是经常会有突然的灵感浮现在你的脑海,你是不是突然灵光乍现却无处记录,使用过许多Memo类软件,但却不是被广告困扰就是需要支付高昂的会员费用,且自己的隐私不能得到保证。。。
现在你不用担心这些啦,免费开源的Memos来啦,可以把他部署到自己的服务器上,自己管理自己的Memo,可能你会说,网页使用不方便,但是它有小程序和APP,服务端都是可以用自己的,今天我就教大家搭建Memos的服务端和小程序。
我在使用Memos的时候,一开始使用的网页端,感觉平平无奇,但自从我部署小程序之后,那丝滑的多平台过度,随时可查阅的状态,归档,置顶,分享,这些功能真的是太香了!
首先要购买服务器和域名
我这里购买的是2C4G5M的服务器,大家也可以按需选购。
拥有了服务器和域名之后我们进行下一步操作。
首先,登录你购买服务器厂商的控制台,我这里用的是腾讯云轻量应用服务器,系统选择的是Centos7.6。
找到你的服务器之后点击右上角的登录按钮(如果不喜欢这种方式登录可以选择自己喜欢的方式:putty,xshell,terminal 等等)当然如果选用其他方式记得先重置密码还在在购买的时候就创建密码,不然无法登录。
输入管理员指令:sudo -i
接下来输入命令安装宝塔
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
PS:如果没有宝塔账户先去注册一下
安装成功后会看到下面的界面:
接下来我们去防火墙开一下宝塔面板的8888端口:
然后访问外网链接访问宝塔面板并输入账户密码登录,第一次登录会让你阅读协议并登录宝塔账户(就是刚才注册的)
选择LNMP一键安装,PHP版本可以选高一点。
安装完成后来新建一个站点:
这个域名要事先在域名控制台做解析哦。
要使用 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 进行反向代{过}{滤}理,将域名连接到您的实例。
创建一个包含以下内容的调用文件:/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 运行部分中的步骤再次启动备忘录。
这样服务端就部署完毕了。接下来我们部署小程序端。
git clone https://github.com/Rabithua/memos_wmp