第一次玩1Panel,觉得什么都是新鲜的。上次在http下小小的测试了一下,觉得这个记事本还不错。所以自己就建个玩玩。没事记录个东西啥的,或者吐吐槽。闲文少叙,言归正传。由于上传测试时http,这个其实很简单,在地址跟上服务器端口,服务器端口打开就可以了。而今天正式建的时候,用了反向代理和域名,还是复杂了不少。
上步骤:
Memos 自托管部署完整小结(基于1Panel+OpenResty+Let’s Encrypt)
一、前置环境说明
- 服务器:雨云4核8G香港主机,系统Ubuntu22.04,面板1Panel v2.2.3
- 防火墙策略:雨云防火墙采用白名单模式,仅放行22、80、443端口
- 域名:
bobmemos.netapitest.com,已完成A记录解析指向服务器IP - 配套服务:OpenResty(网站反向代理、SSL、HTTP校验),Let’s Encrypt免费SSL证书自动续签
二、步骤1:1Panel应用商店安装Memos容器
- 进入1Panel「应用商店」,搜索Memos,点击安装
- 配置项设置:
- 内部端口固定5230,取消勾选「端口外部访问」,不直接暴露容器端口到公网
- 重启规则:一直重启,容器异常自动拉起
- CPU、内存限制填0,不限制资源(机器配置充足)
- 勾选拉取镜像,不修改compose文件
- 点击确认,等待镜像下载、容器自动启动
三、步骤2:申请域名SSL证书(HTTP验证)
- 左侧菜单切换至「证书」→「申请证书」
- 主域名填写
bobmemos.netapitest.com,无其他域名、不使用IP证书 - Acme账户使用面板默认
acme@1paneldev.com,加密算法EC 256 - 验证方式选择HTTP验证(依赖80端口,无需DNS密钥,和已有bitwarden、halo证书统一)
- 勾选自动续签,提交申请,等待证书签发成功
四、步骤3:创建静态网站站点
- 左侧「网站」→「创建」,切换到「静态网站」标签
- 域名填入
bobmemos.netapitest.com,代号自动生成,无需手动新建网站目录(面板自动创建空目录存放站点配置) - 不开启IPv6监听、不创建FTP,直接确认创建站点
五、步骤4:站点绑定HTTPS强制跳转
- 进入新建站点详情,左侧点击「HTTPS」
- 开启HTTPS开关,端口443
- HTTP选项设置:访问HTTP自动跳转HTTPS,开启HSTS提升安全
- SSL选项下拉选择刚申请完成的
bobmemos.netapitest.com证书 - 保存配置,完成全站HTTPS加密
六、步骤5:配置反向代理并手动补充WebSocket支持
- 站点左侧菜单进入「反向代理」→点击创建
- 代理设置填写:
- 名称:memos
- 前端请求路径:
/ - 后端代理地址:
127.0.0.1:5230 - 后端域名保持默认
$host
- 切换至「高级设置」:服务器缓存选择停用,浏览器缓存不修改,不开跨域、不添加文本替换
- 面板界面无独立WebSocket勾选框,采用修改Nginx配置文件方案:
点击顶部「配置文件」,在location块内添加WebSocket三行核心配置
proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";点击「保存并重载」,使Nginx配置立即生效
七、步骤6:验证部署与初始化
- 无痕浏览器访问
https://bobmemos.netapitest.com,正常加载Memos注册页面 - 页面自带简体中文,填写用户名、密码注册站点管理员
- 注册完成即可使用备忘录、标签、图片上传等全部功能;右上角可安装为桌面独立应用
八、本次部署关键要点&避坑总结
- 安全规范:不开放容器外部端口,全部通过443反向代理访问,贴合白名单防火墙策略
- 证书统一:全部子域名使用HTTP验证申请证书,管理简单、自动续签无额外操作
- WebSocket适配:1Panel部分版本无可视化勾选,直接修改Nginx配置文件是通用解决方案,保障笔记实时同步
- 缓存关闭:Memos属于实时交互应用,必须关闭反向代理缓存,否则页面内容刷新延迟
- 强制HTTPS:全站HTTP自动跳转HTTPS,搭配HSTS,避免明文访问风险
九、后续维护说明
- 升级Memos:应用商店一键更新,数据目录持久挂载,笔记不会丢失
- 证书维护:开启自动续签,面板提前自动更新90天有效期证书,无需手动操作
- 访问优化:手机浏览器打开域名,可添加桌面快捷方式,模拟独立App使用
- 分工使用:Vaultwarden负责账号密码存储,Memos负责临时笔记、待办、网址碎片记录
豆包还是不错的,全程让豆包指导。现在有了ai,确实挺方便的。总结也让豆包来做的,所以时markdown格式,海涵海涵!
明天整理bitwarden,这个有点难度的,主要它还有小的bug。所以今天搞不动了。