华为云 Flexus 云服务器 X 实例之 openEuler 系统下部署 Joplin 笔记工具

电子说

1.3w人已加入

描述

前言

作为 IT 技术人员,在工作与学习中,云服务器的使用频率极高。华为云 Flexus 云服务器 X 实例便是一款性能卓越且性价比高的云服务器之选。将 Joplin 笔记部署于其上,能极大地提高工作效率,让我们随时记录笔记与文章,极为方便。选择华为云 Flexus 云服务器 X 实例,便意味着开启无限可能。本次实践聚焦于在华为云 Flexus 云服务器 X 实例的 openEuler 系统下部署 joplin 服务端,从而轻松实现与本地客户端的数据同步。

一、Flexus 云服务器 X 实例介绍

1.1 Flexus 云服务器 X 实例简介

· 官网地址:华为云Flexus云服务器X实例
 

华为云 Flexus 云服务器 X 实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X 实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。

华为云

1.2 Flexus 云服务器 X 实例特点

· 提供丰富的公共镜像:Flexus 云服务器 X 实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。

· 可灵活自定义 vCPU 内存配比:用户可以根据自己的需要灵活调整虚拟 CPU 和内存的配比,以满足不同场景的需求。

· 智能感知业务动态升降配:Flexus 云服务器 X 实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。

· 负载范围更高:相对于 Flexus 应用服务器 L 实例,Flexus 云服务器 X 实例能够处理更高的负载,适用于更复杂和繁忙的场景。

1.3 Flexus 云服务器 X 实例使用场景

Flexus 云服务器 X 实例针对不同的使用场景展现出其独特的优势:

1. 电商直播:利用 X 实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。

2. 企业建站:面向博客、william hill官网 和企业门户等应用场景,X 实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。

3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过 X 实例便捷获取,不仅提高了搭建效率,而且降低了成本。

4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、Joplin 介绍

2.1 Joplin 简介

Joplin 是一款免费且开源的笔记和待办事项管理应用程序,能够高效地整理和处理大量的笔记。所有笔记都采用 Markdown 格式编写,既可以在应用程序内部轻松编辑,也可以通过外部文本编辑器进行修改。Joplin 提供强大的搜索功能,使用户能够快速找到所需的笔记内容,并支持对笔记进行复制、标记和修改,确保信息管理既灵活又便捷。

2.2 Joplin 主要特点

· 多平台支持:无论是在桌面还是移动设备上,Joplin 都能提供一致的用户体验,确保跨设备无缝切换。

· Web Clipper:允许用户一键保存网页上的内容,包括文章、图片甚至是整个页面的截图,方便快捷地收集信息。

· Markdown 支持:笔记以 Markdown 格式存储,方便编辑和阅读,便于保持笔记的清晰结构。

· 高度可定制:用户可以通过插件和主题来个性化设置界面,甚至自行开发扩展,满足不同用户的特定需求。

· 离线优先:数据默认保存在本地设备上,确保即使没有网络连接也能访问笔记,保障了笔记的随时可用性。

· 加密同步:通过支持 Nextcloud、Dropbox、OneDrive 以及 Joplin Cloud 等云服务,实现安全的数据同步,并提供端到端加密选项保护用户隐私。

· 全文搜索:内置的搜索功能让用户能够迅速定位到任何一条笔记,提高查找效率。

· 导入导出灵活性:不仅支持从 Evernote 导入包含格式化内容、资源及元数据在内的笔记,还接受纯 Markdown 文件的导入,方便迁移和备份。

三、本次实践介绍

3.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;2.本次实践环境为华为云 Flexus 云服务器 X 实例,使用的操作系统为 openEuler 22.03 LTS;3.本次实践在 Docker 环境下部署 Joplin 笔记工具。

3.2 本次环境规划

四、远程连接华为云 Flexus 云服务器 X 实例

4.1 购买 Flexus 云服务器 X 实例

进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云英国威廉希尔公司网站 。
 

华为云

华为云

· 镜像选择:本次实践使用 openEuler 作为公共镜像,请根据实际需求自定义选择合适的操作系统镜像。

· 镜像切换说明:参考的公共镜像原为 Huawei Cloud EulerOS,但本次实践中已切换至 openEuler。

· 基础配置参考:购买时可参考以下基础配置进行选择。

1.计费模式:包年/包月,这里选择此模式;2.区域:华北—北京四,可用区:随机即可;3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);5.应用加速:这里选择不加速;6.存储:系统盘,通用型 SSD100G;7.网络:选择默认即可;8.安全组:选择默认即可;9.弹性公网 IP:选择“现在购买”,全动态 BGP,带宽 3Mbit/s;10.云服务器名称:可自定义设置,这里选择默认的名称;11.登录凭证:自定义设置密码;12.云备份:暂不购买;其余配置默认即可。

· 确认配置及购买:在确认配置页面仔细检查 Flexus 云服务器 X 实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。

华为云

4.2 查看 Flexus 云服务器 X 实例状态

进入华为云 Flexus 云服务的控制台,选择 Flexus 云服务器 X 实例,可以看到已经正在运行的 Flexus 云服务器 X 实例。

华为云

4.3 使用 Xshell 远程连接

· 复制 Flexus 云服务器 X 实例的弹性公网 IP 地址

华为云

· 主要填写 Flexus 云服务器 X 实例的弹性公网 IP 地址,输入其登录用户和密码,连接即可。

华为云

华为云

五、检查 Flexus 云服务器 X 实例系统环境

5.1 检查操作系统版本

检查 Flexus 云服务器 X 实例的操作系统版本,本次实践选择的版本为 openEuler 22.03 LTS

[root@flexusx-51a1 ~]# cat /etc/os-releaseNAME="openEuler"VERSION="22.03 LTS"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 LTS"ANSI_COLOR="0;31"

5.2 检查内核版本

检查当前操作系统的内核版本,当前内核版本为 5.10.0-60.109.0.136.oe2203.x86_64。

[root@flexusx-51a1 ~]# uname -r5.10.0-60.109.0.136.oe2203.x86_64

5.3 检查 Docker 版本

部署该项目需要提前安装 Docker 环境,检查 Docker 版本,当前安装的 Docker 版本为 26.1.3。

[root@flexusx-51a1 ~]# docker -vDocker version 26.1.3, build b72abbb

5.4 检查 Docker 服务状态

检查 Docker 服务状态,确保 Docker 服务正常。

[root@flexusx-51a1 ~]# 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 Sun 2024-09-08 14:54:37 CST; 1 day 9h agoTriggeredBy:●docker.socket       Docs: https://docs.docker.com   Main PID: 1264 (dockerd)      Tasks: 1751     Memory: 1.0G     CGroup: /system.slice/docker.service             ├─1264 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

5.5 检查 Docker compose 版本

检查 docker compose 版本,当前默认安装版本为 v2.27.0`。

[root@flexusx-51a1 ~]# docker compose versionDocker Compose version v2.27.0

六、部署 Joplin 应用

6.1 下载 Joplin 相关镜像

执行以下命令,拉取 Joplin 相关镜像,包括 postgres 和 joplin/server 镜像。

docker pull joplin/server:latestdocker pull postgres:16

华为云

6.2 创建部署目录

· 创建项目部署目录/data/joplin。

mkdir -p /data/joplin//data/postgres  && cd /data/joplin

· 设置目录权限

chmod -R 777 /data/joplin

6.3 编辑 docker-compose.yaml 文件

本次使用 docker compose 方式部署,需要新建及编辑 docker-compose.yaml 文件。在部署文件中,可以自定义修改宿主机映射端口等信息,注意防止端口冲突。变量 APP_BASE_URL 中的 IP 地址替换为自己华为云 Flexus 云服务器 X 实例的弹性公网 IP 地址。

vim docker-compose.yaml

# This is a sample docker-compose file that can be used to run Joplin Server# along with a PostgreSQL server.## Update the following fields in the stanza below:## POSTGRES_USER# POSTGRES_PASSWORD# APP_BASE_URL## APP_BASE_URL: This is the base public URL where the service will be running.# - If Joplin Server needs to be accessible over the internet, configure APP_BASE_URL as follows: https://example.com/joplin.# - If Joplin Server does not need to be accessible over the internet, set the APP_BASE_URL to your server's hostname.#     For Example: http://[hostname]:22300. The base URL can include the port.# APP_PORT: The local port on which the Docker container will listen.# - This would typically be mapped to port to 443 (TLS) with a reverse proxy.# - If Joplin Server does not need to be accessible over the internet, the port can be mapped to 22300.version: '3'services:    db:        image: postgres:16        volumes:            - ./data/postgres:/var/lib/postgresql/data        ports:            - "5432:5432"        restart: unless-stopped        environment:            - POSTGRES_PASSWORD=joplin            - POSTGRES_USER=joplin            - POSTGRES_DB=joplin    app:        image: joplin/server:latest        depends_on:            - db        ports:            - "22300:22300"        restart: unless-stopped        environment:            - APP_PORT=22300            - APP_BASE_URL=http://192.168.0.169:22300   #更改为云服务器的弹性公网 IP 地址            - DB_CLIENT=pg            - POSTGRES_PASSWORD=joplin            - POSTGRES_DATABASE=joplin            - POSTGRES_USER=joplin            - POSTGRES_PORT=5432            - POSTGRES_HOST=db

· 相关变量解释:

6.4 创建 Joplin 容器

执行以下命令,快速创建 Joplin 容器。

[root@flexusx-51a1 joplin]# docker compose up -dWARN[0000] /data/joplin/docker-compose.yaml: `version` is obsolete[+] Running 3/3 ✔Network joplin_default  Created                                                                                                                             0.0s ✔Container joplin-db-1   Started                                                                                                                             0.2s ✔Container joplin-app-1  Started                                                                                                                             0.3s

6.5 查看 Joplin 容器状态

检查 Joplin 容器状态,确保 Joplin 容器正常启动。

[root@flexusx-51a1 joplin]# docker compose psWARN[0000] /data/joplin/docker-compose.yaml: `version` is obsoleteNAME           IMAGE                  COMMAND                  SERVICE   CREATED         STATUS         PORTSjoplin-app-1   joplin/server:latest   "tini -- yarn start-…"   app       6 minutes ago   Up 6 minutes   0.0.0.0:22300->22300/tcp, :::22300->22300/tcpjoplin-db-1    postgres:16            "docker-entrypoint.s…"   db        6 minutes ago   Up 6 minutes   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp

华为云

6.6 查看 Joplin 容器日志

检查 Joplin 容器日志,确保 Joplin 服务正常运行。

 docker compose logs |grep 22300

华为云

七、访问前准备工作

7.1 设置防火墙与 selinux

· 执行以下命令,关闭防火墙。

 systemctl stop firewalld && systemctl disable firewalld

· 关闭 selinux

setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

7.2 Flexus 云服务器 X 实例安全组配置

进入 Flexus 云服务器 X 实例控制台,进行安全组规则配置。在安全组入方向规则上,放行 22300 端口。

华为云

八、访问 Joplin 服务端英国威廉希尔公司网站

8.1 访问 Joplin-server 初始页

浏览器访问地址:http://弹性公网 IP 地址:22300,将 IP 替换为自己服务器 IP 地址。浏览器打开后,进入 Joplin 服务端初始页。

华为云

8.2 登录 Joplin-server

输入默认的账号密码:初始张海:admin@localhist 初始密码:admin

华为云

华为云

九、Joplin 客户端配置

9.1 下载 Joplin 客户端软件

我们直接从 Github 下载即可,地址:https://github.com/laurent22/joplin/releases/tag/v3.0.15。我们本次下载的是免安装版`JoplinPortable.exe`,直接下载到本地Windows电脑。
 

华为云

9.2 运行 Joplin 客户端

下载完毕后,直接双击打开 Joplin 客户端,即可使用。

华为云

9.3 同步配置工作

上方菜单栏,选择工具—选项——同步,进入同步设置界面。

华为云

· 同步目标选择:Joplin 服务器 ;

· Joplin 服务器 URL:http://弹性公网 IP 地址:22300/,将 IP 替换为自己云服务器的 IP 地址;

· Joplin 服务器邮箱:Joplin 服务器的登录账号,这里默认为 admin@localhost;

· Joplin 服务器密码:Joplin 服务器的登录密码,这里默认为 admin ;

· 其余配置默认,选择应用确认即可。

华为云

9.4 查看同步状态

同步相关设置完毕后,在 Joplin 客户端的左下角会出现已完成的提示。如果同步连接失败,这里会提示报错。

华为云

十、本地编辑笔记

10.1 新建笔记本

选择左侧栏笔记旁边的“+”号,新建笔记本,填写笔记本名称,这里填写 Linux。

华为云

10.2 新建笔记

在刚新建的笔记本中,选择“新建笔记”,进入文本编辑器内。

华为云

10.3 编辑笔记内容

默认的编辑器为 markdown 格式,可以切换富文本编辑器。编辑笔记内容,右侧可以实时预览。

华为云

10.4 同步笔记内容

点击左下角的同步选项,将笔记内容同步到 Joplin 服务端。

华为云

10.5 Joplin 服务端查看同步记录

登录 Joplin 服务端,选择 items,可以看到数据同步记录。

华为云

十一、使用体验与总结

在本次实践中,我们不仅顺利地在华为云 Flexus 云服务器 X 实例上部署了 Joplin 应用,而且整个过程展现了华为云卓越的技术实力和服务质量。华为云 Flexus X 实例以其出色的性价比、强劲的计算能力和稳定的服务,在部署和运行 Joplin 的过程中提供了坚实的基础支持。无论是网络的稳定性还是操作的流畅度,都超出了我们的预期,确保了高效的工作流程。此外,华为云的安全保障措施也让我们在使用过程中倍感安心。总体而言,选择华为云 Flexus X 实例作为部署平台,使得 Joplin 的应用体验达到了一个新的高度,充分体现了华为云在云服务领域的强大竞争力。

借着华为云 828 B2B 企业节的强劲势头,赶紧来探寻 Flexus X 实例的诱人优惠吧,尽情体会技术与创新的美妙融合。无论是高性能计算,还是智能监控,每一处细节都展现着华为云对品质的执着坚守与不懈追求。加入华为云这个大家庭,绝非仅仅是一次技术上的提升,而是朝着未来坚定迈出的重要一步。让我们并肩前行,共同铸就云端的崭新辉煌!

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分