【玩转腾讯云】在云服务器上部署私有笔记服务

【重要提示】请务必注意数据备份(数据文件及数据库 ),以免数据丢失。

【重要提示】请务必注意数据备份(数据文件及数据库),以免数据丢失。

【重要提示】请务必注意数据备份(数据文件及数据库),以免数据丢失。

本文将介绍在 Ubuntu 18.04.1 LTS 系统环境下部署为知笔记的方法。

【准备】需要一个云服务器和一个已经备案的域名,国外云服务器则无需备案。

免费版本,最多支持 5 个用户进行使用。

界面美观,文章自动保存,可以查看历史版本,支持客户端,全文搜索能力不强。

实测 Docker 版本占用内存 700 MB

建议最好安装在 4G 内存云服务器上,如果运行在 2G 内存云服务器上,内存占用约 70 %。

官网链接

使用云存储来保存笔记数据 - 官网链接

为知笔记私有部署Docker镜像 - 官网链接

私有部署教程 - 官网链接

一、安装 Docker

1、安装 Docker

腾讯云上 Docker 的安装方式

经测试 Ubuntu 18.04.1 LTS 系统自带 Docker,无需安装 Docker 。

如果需要安装请执行以下代码

curl -sSL https://get.daocloud.io/docker | sh

测试是否安装成功

docker run hello-world

如果提示 Hello from Docker! 则安装正常。

2、使用 DockerHub 加速器

使用 DockerHub 加速器

修改 /etc/docker/daemon.json 文件,并写入以下内容,如果文件不存在请新建并写入以下内容

{
   "registry-mirrors": [
       "https://mirror.ccs.tencentyun.com"
  ]
}

重启 Docker

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

执行 docker info 命令,返回结果中包含以下内容,则说明配置成功。

Registry Mirrors:
 https://mirror.ccs.tencentyun.com

二、拉取并部署为知笔记镜像

1、创建数据文件夹并拉取镜像,启动并映射到8885端口

$ cd ~
$ mkdir wizdata
docker run --name wiz -it -d -v ~/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 8885:80 -p 9269:9269/udp wiznote/wizserver

如果服务器内存4G或4G以上,可以使用下面的代码开启全文搜索功能(注意:下面这条代码不是官网内容)

实测不使用以下代码也可以进行全文搜索。

docker run --name wiz -it -d -v ~/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 80:80 -e SEARCH=true wiznote/wizserver

【注意】云服务器安全组要放行对应端口(8885),如果安装其他防火墙工具,也应放行对应端口。

2、为知笔记登陆

安装完成后,预设管理员账号是admin@wiz.cn,密码是123456,您可以使用这个账号登录,并修改密码。

如果有需要,可以使用反向代理。

后台管理的地址为

http://ip : 端口/admin

http://域名: 端口/admin

https://域名: 端口/admin

3、数据备份(数据文件及数据库)

一般来说为知笔记是存储在 wikidata 文件夹,那么只需要定期备份 wikidata 文件夹。

如果数据存储位置设置为【腾讯云 COS 】,那么 wikidata 目录中的 data_root 文件夹已经迁移至云端,其他文件(数据库等)依然保留在本地。那么需要备份本地的 wikidata 目录和 COS 存储桶中的全部文件。

COS 存储桶中的的 文件 备份方法请看 【玩转腾讯云】腾讯云COS双重备份-版本控制+跨地域备份

经实际操作,只要备份数据还在,即使数据丢失也可以完整还原。

【数据恢复方法(仅适用于数据存储位置在本地)】下载备份的 wizdata.zip 文件,将 wizdata.zip 文件解压到服务器上,重新启动镜像即可恢复数据。

【为知笔记-数据恢复方法(仅适用于数据存储位置在腾讯云COS存储桶)】下载备份的 wizdata.zip 文件和数据存储桶中的所有文件,将 wizdata.zip 文件解压并删除 data_root 目录下的所有文件,将数据存储桶中的所有文件粘贴到 data_root 目录下,重新启动镜像即可恢复数据。

三、出现问题及解决方法

1、使用 https 时遇到 新建笔记失败的问题

参考文章:如何为 WizNote 的私有部署配置 https

【解决方法】

如果 Nginx.conf 中存在一下代码
proxy_set_header X-Forwarded-Proto $thescheme;
则将其替换为以下代码
proxy_set_header X-Forwarded-Proto $scheme;

如果不存在,则在 Nginx.conf 中添加以下代码
proxy_set_header X-Forwarded-Proto $scheme;

2、部署成功运行后,登陆账号或注册账号会出现错误

query failed, sql = select ID as id, USER_GUID as userGuid, EMAIL as email, MOBILE as mobile, 
displayname as displayName, USER_LANGUAGE as userLanguage, POINTS as points, EMAIL_VERIFY as 
emailVerify, VIP_DATE as vipDate, DT_CREATED as dtCreated, PASSWORD as password, USER_STATE as 
userState, MEDAL_COUNT as medalCount, last_login as lastLogin, MOBILE_VERIFY as mobileVerify ,
vatar_version as avatarVersion, TENANT_ID as tenantId, GMT_OFFSET as gmtOffset from wiz_user
where EMAIL = ? or MOBILE = ?, values = admin@wiz.cn,admin@wiz.cn, err = ER_BAD_FIELD_ERROR:
Unknown column 'POINTS' in 'field list'
欢迎使用为知笔记
登录

【解决方法】

(1)停止该容器

$ docker ps                     // 查看所有正在运行容器(如果没有显示相关内容则不需要停止)
$ docker stop containerId      //停止某一容器,containerId 是容器的ID
例如:docker stop 819a7f7a9ad4

【注意】如果使用 docker ps 没显示该容器正在运行,请使用 docker ps -a 查找所有容器,并参照以下方法移除该容器。

(2)移除容器

$ docker  rm containerId  //remove删除某一容器
例如:docker rm 819a7f7a9ad4

(3)再次执行启动镜像及端口映射命令

$ docker run --name wiz -it -d -v ~/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 8885:80 -p 9269:9269/udp wiznote/wizserver

原文地址:https://cloud.tencent.com/developer/article/1614488

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340