1. 为知笔记功能简介
您可以直接使用docker
运行为知笔记服务端,不需要有任何IT
知识。为知笔记私有部署Docker
镜像,包含有完整的为知笔记服务端以及所需的各种环境,同时还包含了为知笔记网页版。您只需要启用为知笔记服务端,就可以利用自带的为知笔记网页版,在局域网内无限制使用为知笔记各种功能了。
- 先安装
Docker
应用,获取镜像,启动即可 - 运行成功后,通过域名访问,可自行创建团队、群组,注册用户
- 免费版本,最多支持
5
个用户进行使用,不包含管理员账号 - 授权付费版,价格为
199
元/用户/年 - 没有功能,使用时间等限制
- 可以使用为知笔记官方桌面/手机客户端访问私有部署的为知笔记服务
- 可以禁止客户端访问,保证所有数据只能在公司网络内访问
2. 私有部署步骤详解
安装DOCKER容器
magth@storage:~/share$ sudo apt-get udpate
magth@storage:~/share$ sudo aptg-get upgrade
magth@storage:~/share$ sudo apt-get install docker.io
magth@storage:~/share$ sudo systemctl start docker
magth@storage:~/share$ sudo systemctl enable docker
安装为知笔记服务器
magth@storage:~/share$ cd ~
magth@storage:~/share$ mkdir wizdata
magth@storage:~/share$ sudo docker run \
--name wiz \ # docker 容器名
--restart=always -it -d \ # 自动重启
-v ~/wizdata:/wiz/storage \ # 笔记存储位置及容器内外映射目录
-v /etc/localtime:/etc/localtime \ # 时区配置
-p 8025:80 -p 9269:9269/udp \ # 注:8025客户端访问端口,可自行修改
wiznote/wizserver
更新为知笔记服务器
magth@storage:~/share$ docker stop wiz
magth@storage:~/share$ docker rm wiz
magth@storage:~/share$ docker pull wiznote/wizserver:latest
magth@storage:~/share$ sudo docker run \
--name wiz \
--restart=always -it -d \
-v ~/wizdata:/wiz/storage \
-v /etc/localtime:/etc/localtime \
-p 8025:80 -p 9269:9269/udp \
wiznote/wizserver
配置NGINX反向代理
server {
listen 80;
server_name yourdomain.com;
rewrite ^ https://$http_host$request_uri? permanent;
server_tokens off;
}
server {
listen 443;
server_name youdomain.com;
# SSL证书配置,如无证书可注释掉本段
ssl on;
ssl_certificate conf.d/ca/ca.crt; # 改为你的证书
ssl_certificate_key conf.d/ca/ca.key; # 改为你的证书KEY
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!aNULL:!aNULL:!MD5:!ADM:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
# NGINX 反向代理需要配置 proxy_set_header
proxy_http_version 1.1;
proxy_set_header Upgrade %http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-wiz-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
# 通过这种方式配置,客户端可以使用http或者https协议,为知笔记服务能够自动获取客户端使用的协议。
proxy_set_header X-Forwarded-Proto "$scheme";
# 服务器本地代理端口,与启动命令处端口保持一致
location / {
proxy_pass http://127.0.0.1:8025;
}
# 禁止访问的资源
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) {
return 404;
}
# 图片资源访问代理
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
proxy_pass http://127.0.0.1:8025;
error_log off;
access_log off;
}
# 样式文件访问代理
location ~ .*\.(js|css) {
proxy_pass http://127.0.0.1:8025;
}
}
如果您的nginx有多层,那么,您可能还需要额外的配置: 在http 模块中加入以下配置:
http {
map $http_x_forwarded_proto $thescheme {
default $scheme;
https https;
}
...
}
然后在server模块(或者http模块)里面,将前面配置中的
proxy_set_header X-Forwarded-Proto $scheme;
替换为下面的代码:
server {
...
proxy_set_header X-Forwarded-Proto $thescheme;
...
}
如果您的nginx服务,并没有直接面向最终用户,而是在某些负载均衡/cdn后面,并且您的ssl证书是在这些负载均衡/cdn上面配置的,那么有可能会导致nginx无法正确获取客户端所使用的协议,从而导致无法将客户端使用的协议传递给为知笔记服务。在这种情况下,您可以修改nginx配置,强制通知服务使用https协议。
修改前面的配置,直接将proxy_set_header X-Forwarded-Proto $scheme修改成
server {
...
proxy_set_header X-Forwarded-Proto "https";
...
}
测试配置
正常情况下,会返回一个json数据,检查第一个key wizas的值,应该是https开头。如果是http开头,则说明配置没有生效。
https://youdomain.com/?p=wiz&c=endpoints
Categories: 工具技巧