月度归档: 2024 年 10 月

  • 云原生之使用Docker部署开源Leanote蚂蚁笔记

    一、Leanote蚂蚁笔记介绍

    1.Leanote简介

    Leanote 蚂蚁笔记是一款云笔记工具,蚂蚁笔记(又名LeaNote)就是一款国产开源的私有云笔记软件。它支持普通格式笔记、Markdown语法、专业数学公式编辑、和思维脑图,常见的笔记相关功能它都拥有,同时也支持 vim&emacs 输入,持私有本地部署。

    2.Leanote功能

    • Markdown 语法支持
    • 无干扰写作模式
    • Vim和Emacs编辑模式
    • 将笔记导出为 PDF
    • 批注操作
    • 可定制的博客主题
    • 思维导图功能
    • Docker快速本地化部署

    二、本次实践介绍

    1. 本次实践简介

    1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.本次实践为快速使用docker部署开源Leanote蚂蚁笔记。

    2. 本地环境规划

    本次实践环境规划:
    hostname
    IP地址
    Leanote镜像版本
    操作系统版本
    jeven
    192.168.3.166
    latest
    centos 7.6

    三、检查本地Docker环境

    1. 检查本地Docker版本

    检查Docker版本
    代码语言:shell
    复制
    [root@jeven ~]
    # docker version
    Client: Docker Engine - Community
     Version:           20.10.17
     API version:       1.41
     Go version:        go1.17.11
     Git commit:        100c701
     Built:             Mon Jun  6 23:05:12 2022
     OS/Arch:           linux/amd64
     Context:           default
     Experimental:      true
    
    Server: Docker Engine - Community
     Engine:
      Version:          20.10.17
      API version:      1.41 (minimum version 1.12
    )
      Go version:       go1.17.11
      Git commit:       a89b842
      Built:            Mon Jun  6 23:03:33 2022
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.6.6
      GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
     runc:
      Version:          1.1.2
      GitCommit:        v1.1.2-0-ga916309
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0

    2. 检查Docker服务状态

    检查Docker服务状态,确保Docker服务正常运行。
    代码语言:shell
    复制
    [root@jeven ~]
    # systemctl status docker
    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Mon 2023-05-15 20:34:37 CST; 9h ago
         Docs: https://docs.docker.com
     Main PID: 10133 (dockerd)
        Tasks: 25
       Memory: 1.1G

    四、下载Leanote镜像

    本次使用Leanote容器镜像从dockerhub拉取,版本为latest版本。
    代码语言:shell
    复制
    [root@node ~]
    # docker pull axboy/leanote
    Using default tag: latest
    latest: Pulling from axboy/leanote
    23884877105a: Pull complete 
    bc38caa0f5b9: Pull complete 
    2910811b6c42: Pull complete 
    36505266dcc6: Pull complete 
    a4d269900d94: Pull complete 
    5e2526abb80a: Pull complete 
    d3eece1f39ec: Pull complete 
    358ed78d3204: Pull complete 
    1a878b8604ae: Pull complete 
    978c572f0440: Pull complete 
    35a600ffcf6a: Pull complete 
    fa9f812cdfe6: Pull complete 
    7a8109e27110: Pull complete 
    e7cb12a43d53: Pull complete 
    98477f6eb1fd: Pull complete 
    Digest: sha256:9542a462043c9d293e8eda12e1b48ada77ae411121583631c5fa94083a730ef5
    Status: Downloaded newer image for axboy/leanote:latest
    docker.io/axboy/leanote:latest

    五、部署Leanote应用

    1.创建数据目录

    创建Leanote容器挂载的数据目录
    代码语言:shell
    复制
    [root@node ~]
    # mkdir -p /data/leanote/{db,conf,files,upload}
    [root@node ~]
    # cd /data/leanote/
    [root@node leanote]
    # 

    2.创建Leanote容器

    使用docker-cli命令快速创建Leanote容器。
    代码语言:shell
    复制
    docker run -d -p 9800:9000 \
        -e "TZ=Asia/Shanghai"
    \
        --restart
    =always\
        -v /data/leanote/db:/data/db \
        -v /data/leanote/conf/:/data/leanote/conf \
        -v /data/leanote/files:/data/leanote/files \
        -v /data/leanote/upload:/data/leanote/public/upload \
        -m 50M --oom-kill-disable --memory-swap=-1\
        --name leanote \
        axboy/leanote
    image.png
    image.png

    3.查看Leanote容器状态

    检查Leanote容器状态状态
    代码语言:shell
    复制
    [root@node leanote]
    # docker ps
    CONTAINER ID   IMAGE                                                   COMMAND                  CREATED          STATUS          PORTS                                                                                                                             NAMES
    587ff7c0b1c7   axboy/leanote                                           "docker-entrypoint.s…"   18 seconds ago   Up 14 seconds   27017/tcp, 0.0.0.0:9800->
    9000/tcp, :::9800->
    9000/tcp                                                                              leanote

    4.查看Leanote占用资源

    检查Leanote容器所在系统资源。
    代码语言:shell
    复制
    [root@node leanote]
    # docker stats --no-stream leanote 
    CONTAINER ID   NAME      CPU %     MEM USAGE / LIMIT   MEM %     NET I/O     BLOCK I/O       PIDS
    587ff7c0b1c7   leanote   0.30%     31.5MiB / 50MiB     63.01%    656B / 0B   541MB / 904MB   43

    六、访问Leanote首页

    直接访问:http://192.168.3.166:9800/ 进入Leanote首页
    image.png
    image.png

    七、Leanote基本操作

    1.设置简体中文

    选择语言为简体中文
    image.png
    image.png

    2.登录Leanote

    user1 username: admin, password: abc123 (管理员, 只有该用户才有权管理后台, 请及时修改密码)
    user2 username: demo@leanote.com, password: demo@leanote.com (仅供体验使用)
    image.png
    image.png
    image.png
    image.png

    3.新建笔记

    image.png
    image.png

    4. 后台管理

    进入Leanote蚂蚁笔记的后台管理
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    八、Leanote的博客功能

    1. 设置笔记为公开博客

    将个人笔记设置为公开博客
    在这里插入图片描述
    在这里插入图片描述

    2. 查看个人博客页面

    选择“我的博客”功能模块,进入个人博客页面。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3. 博客设置

    选择博客设置,进入博客管理页面。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4. 更换博客主题

    在博客管理页面,选择个人喜欢的主题。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表
  • 肝豆儿童哪里治疗更好,如何控制病情,为什么那么多从小确诊依然加重的?

    作者:月亮弯弯 链接:https://www.zhihu.com/question/580341649/answer/2864506595 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    肝豆儿童的治疗不在乎权威医生权威医院,只要懂肝豆病的医生都能治疗,自己懂哪里都能治,因为肝豆病的病理本质低层逻辑很简单,就是无法正常排铜而已,治疗不复杂(手动借助用药帮我们排),费用也不贵(青间歇性吃+锌长期吃有效抑制铜吸收+日常监测),特别是我们肝豆儿童发现得早,大多都是因转氨酶异常而发现肝豆病,这些都是铜造成的轻微肝损伤,是属于无症状的肝豆病人,这个时候那么我们可以先用锌剂治疗,锌的作用又是什么呢?锌剂可诱导肠黏膜细胞产生 金属硫蛋白, 金属硫蛋白对铜的亲合 力强, 易于与肠黏膜细胞内的铜结合。 与金属硫蛋白结合的铜不能被 吸收,随脱落的肠黏膜细胞排出体外。体内的铜可经大量胃肠液进入胃肠道,进入胃肠道后不能被重吸收,实现铜的负平衡。服用锌的作用在于抑制身体对于铜的吸收,锌剂的长期疗效可靠, 但其作用缓慢,治疗1~3个月才能起效。吃锌期间我们可以测尿锌来判断锌剂是否足量,单锌尿锌至少大于2视为锌剂足量,只有足量锌剂才能有效抑制铜的吸收。那么我们肝豆儿童如果体内铜不多,单锌治疗观察几个月各项指标(肝肾功能血脂血尿常规血脂腹部B超)就能正常恢复,相反的,如果单锌治疗1-6月的时间指标仍然异常,或是尿铜>40微克/24h,证明单锌已经控制不住病情的,它已经尽到责尽到它的力了,本来锌剂治疗就有它的局限性,这个时候我们就要考虑加上青霉胺清除体内沉积铜了,两种药联合使用了,至到足量青霉胺(足量青霉胺公式:体重kg*20mg/125mg)连测三次尿铜稳定降至200-250之间,证明体内铜不多了,就可以停青转为单锌,这样由此往复,铜多就排,铜少单锌,双线尿铜监对比调整用药.长期保持体内铜不多,病情就不会发展更不会加重,就一直是无症状的肝豆病人,与正常人无异,更不会受肝豆病影

     

    作者:铜娃娃 链接:https://www.zhihu.com/question/580341649/answer/2996611409 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    从WD患者疾病分型、照顾者性别、年龄、就业情况是照顾者负担影响因素分析出发,去探讨肝豆状核变性(WD)患者照顾者负担现状及其影响因素,以提高社会支持可改善照顾者负担。

    v2-45b188d24aeb881e4e18af989396f4a7_720w
    v2-45b188d24aeb881e4e18af989396f4a7_720w
    v2-9c1a0f72dad4b217d6ed15e80a4867ae_720w
    v2-9c1a0f72dad4b217d6ed15e80a4867ae_720w
    v2-c866dc1d2b03b488b0ab9c4b5e091202_720w
    v2-c866dc1d2b03b488b0ab9c4b5e091202_720w
    v2-3c85de3519eb5ba25b7eca3bcabedb37_720w
    v2-3c85de3519eb5ba25b7eca3bcabedb37_720w
  • 来自俩个肝豆孩子妈妈的自述

    《转自肝豆宝宝QQ群(444197355)江西安安妈2022年2月27日之分享篇》#肝豆状核变性

    v2-611defdd97f419c7513f238167cc8006_1440w
  • 肝豆病程的演变以及初期确诊的肝豆儿童特征

    v2-c46605db8321ff0bab97c2553fc0efad_1440w

    以上是肝豆状核变性患者病情演变从发病常常经历四个病理时期:症状前期(无症状)、肝脏累及期(表现转氨酶升高、黄疸、脂肪肝、早期肝纤维化等)、肝外转移期(表现肝硬化、脑症状、精神症状、腎脏损害、K-F环出现、骨骼损害等)、终末期(表现肝衰竭、大量腹水、消化道出血、扭转痉挛、肝性昏迷、肾脏衰竭等)。

    (二)初期确诊肝豆儿童的特征

    儿童肝豆初期确诊临床表现基本都是症状前期(无症状)或肝脏累及期,是指常规体检发现转氨酶增高、肝脾肿大或脂肪肝,但无临床神经症状。(无症状患者也见于 WD 先证者的一级亲属经ATP7B 基因筛查时确诊。)应注意的是,儿童或青少年 WD 患者的最早期表现常为轻到中度脂肪肝、胆固醇高、甘油三酯、血脂高等,这些症状并不是肝豆病该有的表现,而是铜过多引起的代谢紊乱,应及时采取排铜治疗。WD初期患者铜过多还可以引起肾脏、骨关节等其他器官组织损害。肾损伤以肾小管损伤为主,表现尿蛋白潜血等症状。

    需要注意的是:病情在症状前期、肝脏累及期是该病最佳治疗期,这个阶段只要好好规范治疗定期评估,预防为主,做到科学忌口,对症用药,绝对不会出现任何加重情况,肝豆病人本身的肝脏功能是正常的健全的,肝豆儿童因发病轻通过早期治疗是具备完全正常能力的,肝豆病仅是铜代谢障碍病,其他功能完全正常。

  • 成人肝豆与肝豆儿童有区别没?

    那么成人肝豆病与儿童又有什么区别呢,其实是一样的,成人也是铜代谢障碍病,但成人往往是已经造成个损伤,出现个症状:肝硬化肝腹水就是已经造成了肝脏的问题,已经是肝病了,而脑症状出现就是这些病人属于神经内科的疾病了,他们除了治疗肝豆病还要对应的病症进行治疗改善。所以他们成人有症状的病人口中的肝豆病并非只是简单的代谢病,而是已经造成的并发症。所以我们会听到很多关于肝豆病的各种奇葩言论,这些都不属于肝豆病本身的问题,我们这些儿童肝豆病就记住一点,肝豆病是铜代谢障碍病,就够了。关于肝豆病的各种症状,我们可以简单的了解一下,但没必要去深入研究,因为你们只要控制住源头,把基础做好了,就不存在病变加重的情况。 再补充一点就是关于排铜药,并不是我们现在年龄小不适宜排铜水,等长大了再去用,而是我们青霉胺排铜,已经保持了体内低铜的状态,不存在长期的续积,也不存在长大了铜多,因为我们的治疗是从小就控制铜的,永远长期保持低铜状态,所以永远不会加重,大家一定要有信心,即使没有完全治愈的基因药,以我们现在的治疗,依然可以保证完全健康

  • 肝豆病它可怕吗

    肝豆病是铜代谢障碍病,最简单的说就是代谢病,而它的本质就是铜代谢异常。 铜不能正常排出导致的大量的铜沉积,而引发了 肝脏,脑神经,肾脏等的损伤及病变。我们初次接触肝豆病在百度,在成人肝豆群见到的各种所谓肝豆病的症状:脂肪肝,纤维化,肝硬化,肝腹水,神经症状的手抖、步伐不稳、口齿不清、流口水、吞咽困难等,甚至精神症状如情绪不稳、忧郁、躁狂等。导致我们认为肝豆病就是神经内科病,就是肝脏疾病,就是精神病,但其实我们应该清晰的认识到,这些是因为铜多,铜中毒导致的各种损伤各种症状,是继发性的结果而并非是原发性的,这个是导致我们很多家长对肝豆病的理解有误,认为迟早会加重,不可控的根本原因,以上是肝豆病的本质:铜代谢障碍病。 那么我们既然知道了肝豆病就是铜不能正常的排出,当然也就知道如何控制这个病了。首先我们饮食方面忌口(科学忌口),吃锌(锌有抑制铜吸收的作用),这两项措施都是从入口减少铜的摄入,吃的铜少,必然就吸收的少,也就减缓铜沉积了,但只是减少摄入,延缓沉积,依然不能完全阻止铜的续积,那么我们就要采取排铜药(首选青霉胺)将体内多余的铜排出,我们肝豆病人自身排铜能力差,那么就需要借助药物往外排,永远保持体内的铜不多,就不会造成任何的器官损伤,肝豆病人如果体内长期保持铜不高的状态,体内铜不多就跟正常人完全无异,就不存在任何肝豆病的并发症,这个道理大家应该都能理解。 刚才说了肝豆病就是铜代谢障碍,我们忌口吃锌,铜多就排,铜少亦可恢复单锌治疗,那么长期保持良好的状态,定期复查尿铜,复查身体指标,身体就能永远保持健康状态,而与正常人相比,我们仅是进行相应忌口,以及吃一些药物,这就是与正常人的最大区别,学习工作婚姻等都与正常人完全无异,就是正常的生活。所以大家一定要积极的正确的引导孩子,肝豆病不可怕,一样拥有美好的未来。

  • 免费的异地组网神器Docker搭建教程-ZeroTiger

    v2-51c5c3590efa6bfbc4f4db36053da73c_1440w

    ZeroTiger是一个国外的服务商所提供的基于P2P的组网方案,它可以通过软件的形式实现将我们需要组网的设备加入到一个虚拟的局域网中,从而实现数据的交换。

    组网逻辑:

    1.组网设备接入Zerotier,并通过ID加入指定的虚拟网络。

    2.当设备之间发生数据交换时,网络调度设备间尝试P2P直连。

    3.失败时,从网络中寻找moon服务器作为中转。

    我们使用自己的云服务自建Moon服务器加入Zerotier网络,当P2P失败时,数据始终通过我们自建的私有根服务器作为中转。私有网络需要认证才可以加入,具有一定的安全性。

    1.搭建Zerotier根服务器

    依然使用我们的老伙计docker来实现,创建很简单,一条命令创建即可。

    docker run --restart=on-failure:3 -d --name ztncui -e HTTP_PORT=4000 -e HTTP_ALL_INTERFACES=yes -e ZTNCUI_PASSWD=admin@123 -p 4000:4000 keynetworks/ztncui
    
    v2-50aeecc54c9895c8574b0a4165221526_1440w

    2.搭建Moon服务器

    前面也介绍过了,使用Zerotier在一定程度上是可以P2P打洞成功的,不成功的时候就可以使用我们的Moon服务器来进行中转,保证完成组网。此服务需要占用tcp及udp的9993端口

    # 创建一个持久化存放文件的目录
    mkdir -p /opt/docker/moon
    # 获得云服务器的公网ip
    public_ip=`curl ip.sb`
    # 建立moon服务器
    docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp -v /opt/docker/moon:/var/lib/zerotier-one jonnyan404/zerotier-moon -4 $public_ip
    
    v2-377be9d8bf36de4ac5160a44f9a8d913_1440w

    到此我们的服务端就搭建好了。查看一下日志,记录一下moon id,后面加入会用到。

    docker logs -f zerotier-moon
    
    v2-248e447426ba45b47f8e359bd955bb98_1440w

    3.创建网络

    使用我们云服务器 ip:4000访问,ip为云服务器的公网ip,打开配置页。

    v2-9bfa097eeda8bb540a7ddc22ce94381d_1440w

    点击右上角的login登录。

    v2-ab0dbc5c15a5416a8067f147e609fdfc_1440w

    使用默认用户名和密码登录: admin/admin@123,登录完成后根据提示修改密码。

    v2-ee9ba5ccd5a0ca521cefe77d2b87540a_1440w

    设置完成后,切换到Add network选项卡,任意为网络起一个名字。

    v2-197807d2b2360b9f5e8307fac2b18f49_1440w

    点击Create Network

    v2-90b862a8d1c0e22baaabf43fb19fe321_1440w

    这样我们的网络就设置好了,请记录创建好的网络id。

    v2-a999e77c5536b34cc3e067f1bcad6d9e_1440w

    回到上一级页面,最后在network上,设置网段,可以点击自动生成,然后提交。

    v2-be17385a59254559fa9e2c998834484c_1440w
    v2-6914898a38247435e41e136fb1b15019_1440w

    4.搭建客户端

    为了方便演示不同平台,我这里以一台Linux和一台Windows为例子演示组网过程。

    • Windows:

    首先到官方网站上下载Windows客户端:

    https://www.zerotier.com/download/
    

    安装很简单,下一步即可。完成后,在开始菜单中可以找到安装的ZeroTier软件,右下角会多出图标,打开面板。把之前记下的网络填入下方,点击Join Network。

    v2-90b6b0635b64ad049b3f0059efb7f38a_1440w

    回到网页上授权,并定义一个友好的名字,方便辨认。

    v2-9f1bd0316bb04179d7f23a607f4513b2_1440w

    客户端上,状态显示成功时,表示搭建成功。

    v2-b27cba8357f35f29e3ab031350ce8648_1440w

    最后在配置一下加入moon服务器,打开cmd。

    cd C:\ProgramData\ZeroTier\One
    zerotier-cli orbit [moon_id] [moon_id]
    

    将之前记录的moon id填进去后执行。

    v2-383e302d78e5e2ec40d3684af61da546_1440w

    查看是否加入monn节点:

    zerotier-cli listpeers
    

    可以看到其中包含我们自建moon服务器的公网ip地址。

    v2-025e0f9ee4bb76ec529a9b5e82cdab30_1440w
    • Linux:

    拉取镜像:

    docker pull bltavares/zerotier
    

    配置镜像:

    docker run -d --device=/dev/net/tun \
    --name zerotier-one \
    --net=host \
    --restart=always \
    --cap-add=NET_ADMIN \
    --cap-add=SYS_ADMIN \
    -v /var/lib/zerotier-one:/var/lib/zerotier-one \
    bltavares/zerotier:latest
    
    v2-648882187c5913ad9777c114626082d2_1440w

    加入zerotier网络

    docker exec zerotier-one zerotier-cli join [网络ID]
    
    v2-5142e213bdf1362dca2a78aee6b9b3e1_1440w

    显示 200 join ok 即添加成功。同样的需要在网页上去授权此节点。可以看到已经有虚拟ip生成,可以测试下两台主机之间的联通性。

    v2-e98306bed8240d3ca8f6ab351e8d4286_1440w

    发现已经可以使用p2p建立虚拟网络了,一台四川的服务器和一台北京的阿里云服务器,延迟大概40ms左右,效果还是很不错的。

    v2-16b12d71bb25015344ab47c125ad11f3_1440w

    最后再加入moon服务器,同样的需要把moon_ID的值修改为自建moon服务器的id。

    #加入moon服务器
    docker exec zerotier-one zerotier-cli orbit [moon_ID] [moon_ID]
    #确认是否加入
    docker exec zerotier-one zerotier-cli listpeers 
    
    v2-20043a27bed063d5f09ecb53d7728d62_1440w

    至此~

  • 删除linux网卡命令

    在Linux操作系统中删除网络接口的命令是ifconfigip命令。下面将详细说明如何使用这两个命令来删除Linux网卡。

    使用ifconfig命令删除网卡:

    1. 打开终端或控制台窗口。
    2. 输入ifconfig命令,查看当前系统中的网卡接口列表,确认要删除的网卡接口的名称,一般以ethenp开头。
    3. 输入以下命令以删除网卡接口: “ sudo ifconfig down # 关闭网卡接口 sudo ifconfig del # 删除网卡接口 “ 请将“替换为要删除的网卡接口的名称。
    4. 输入密码(如果有)以确认操作。

    使用ip命令删除网卡:

    1. 打开终端或控制台窗口。
    2. 输入ip link show命令,查看当前系统中的网卡接口列表,确认要删除的网卡接口的名称,一般以ethenp开头。
    3. 输入以下命令以删除网卡接口: “ sudo ip link set down # 关闭网卡接口 sudo ip link delete # 删除网卡接口 “ 请将“替换为要删除的网卡接口的名称。
    4. 输入密码(如果有)以确认操作。

    需要注意的是,删除网卡接口后将无法使用该接口进行网络连接。请确保在执行删除操作之前备份重要数据,并确保不会影响系统的正常运行。

    此外,还可以通过编辑/etc/network/interfaces文件或/etc/sysconfig/network-scripts/ifcfg-文件来删除网卡接口的配置信息,但这种操作比较复杂,需要对网络配置文件有一定的了解。强烈建议在进行此类操作之前备份相关配置文件,以防止意外数据丢失。