本文假设memos在服务器的数据安装位置为:/home/note.maizixing.com/memos
1 在CyberPanel 的 Docker 中创建memos
下载镜像
先在CyberPanel左边菜单中找到Docker Manager。
Docker Manager > Mange Images,搜索memos,选第一个neosmemo/memos,下来选latest,点击Pull.
创建新容器
Docker Manager > Create New Container,会跳出如下界面,Select Owner 为自己的CyberPanel默认账号用户名,或则其他,Memory limit 随便。
添加参数后,最终设置结果如下:
具体设置的参数如下: 在ENV 这条 默认有的参数下点击Add more,添加下面2条参数:
url: https://note.maizixing.com/
mode: prod
在Map Volumes下
Add field:
/var/opt/memos /home/note.maizixing.com/memos
运行memos容器
在memos容器的管理界面中有个LOGS面板,刷新边上的圈圈键,如下截图,可以看到,运行LOG信息中显示似乎正常,但是输入网址后是无效的。
用SSH登录到服务器中,输入docker ps -a查看memos运行状态(注意运行这个命令会使停止的docker服务自动启动),你会发现端口5230出问题了,因为在之前Docker创建过程中没有port条目的输入,这个就是问题所在,我们需要手动修改port信息,添加上5230。
2 容器配置文件修改
先到cyberpanel中停止docker服务。
在CyberPanel左边菜单中最下面中找到:Manage Services > Service Status,进入后把Docker 停止,就是点击显示的暂停键。
SSH登录到服务器中,找到配置文件的位置,星号就是你的容器:
/var/lib/docker/containers/**********************
进入后,在容器的文件中分别对下面2个配置文件进行修改:
hostconfig.json文件:
用笔记本打开,搜索PortBindings后,把这个项目替换成 “PortBindings”:{“5230/tcp”:[{“HostIp”:””,”HostPort”:”5230″}]},
config.v2.json文件:
找到这个位置,”AttachStderr”:false, 到这里输入 “Tty”:false, 把端代码添加到上面红色位置,”ExposedPorts”:{“5230/tcp”:{}},
然后,使用SSH登录服务器输入docker ps -a查看memos运行状态,在显示的信息中已经出现了端口 5230的信息,说明port起作用了。
这个时候你已经可以在地址后添加端口进入memos了。
3 免port登入设置
使用SSH 登录到服务器,运行以下命令:
sudo vim /usr/local/lsws/conf/httpd_config.conf
按要求输入密码后,按一次 i 键 开始进入编辑模式,把下面的内容添加到文档末尾:
extprocessor dockerbackendmemos {
type proxy
address 127.0.0.1:5230
maxConns 100
pcKeepAliveTimeout 60
initTimeout 60
retryTimeout 0
respBuffer 0
}
按一下 Esc 键, 再输入 :wq 后,保存退出。
在你的电脑上用 笔记本 制作一个空文档另存为 .htaccess 文件,上传到memos的安装目录。
从CyberPanel面板中按次序 Websites > List Domains,找到你的memos网站,点击管理,在新窗口中找到Rewrite Rules 然后把下面的内容拷贝到里面. 以下命令也包含把HTTP强制跳转到HTTPS。
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
REWRITERULE ^(.*)$ [<http://dockerbackendmemos/$1>](<http://dockerbackendmemos/$1>) [P]
保存退出后,就可以直接输入网址进入memos网站了。