华为云征文 | 华为云Flexus云服务器X实例之Docker环境下部署JmalCloud个人网盘
前言
华为云Flexus云服务器X实例
是专为中小企业和开发者设计的新一代柔性算力云服务器,以其强劲的性能和高性价比而著称。在这样的云服务器上部署JmalCloud个人网盘应用,不仅能够充分利用其出色的计算能力,还能享受稳定可靠的云服务体验,为个人数据存储与管理提供坚实的基础。这一实践将展示如何在Flexus云服务器X实例上高效部署与运行个人网盘应用,开启便捷、安全的数据管理新篇章。
一、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实例针对不同的使用场景展现出其独特的优势:
-
电商直播:利用X实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。
-
企业建站:面向博客、论坛和企业门户等应用场景,X实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。
-
个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过X实例便捷获取,不仅提高了搭建效率,而且降低了成本。
-
游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。
二、JmalCloud介绍
2.1 JmalCloud简介
JmalCloud
是一款专注于私有云存储的网盘应用,它旨在为用户提供便捷的文件管理解决方案。通过JmalCloud,您可以轻松上传、访问和分享云端文件。其内置的安全管理功能,确保您的数据隐私得到有效保护。无论是日常使用还是专业需求,JmalCloud都能提供可靠的支持。
2.2 JmalCloud优点
-
✅ 支持OSS,阿里云OS、腾讯云OSS和MinIO
-
✅ 支持图片,音频,视频等文件的在线预览
-
✅ 支持Word、Excel、PPT、流程图和思维导图的编辑和预览
-
✅ 支持x86、arm64(Centos/Debian/Ubuntu/macOS)
-
✅ 提供强大的在线文本编辑器
-
✅ 支持超大文件上传,断点续传
-
✅ 支持WebDAV
2.3 JmalCloud使用场景
-
个人云存储:您可以将个人文件存储在 JmalCloud 中,随时随地访问和管理这些文件。您可以上传、下载、删除、分享文件,方便地备份和恢复个人数据。
-
团队协作:JmalCloud 支持团队云存储,多人可以共享文件夹和文件,并进行实时协作。团队成员可以共同编辑文档、表格、演示文稿等,提高团队工作效率。
-
文件同步:JmalCloud 支持将本地文件夹与云端文件夹进行同步,确保文件的安全备份和同步更新。您可以设置自动同步,使得本地文件与云端文件保持一致。
-
多端访问:您可以通过 JmalCloud 的网页端、手机端和客户端进行文件访问和管理。无论是在办公室、家中还是在路上,都可以随时随地查看和修改文件。
-
文件分享:您可以将 JmalCloud 中的文件分享给其他人,无需下载和发送文件,方便快捷。您可以设置分享链接的权限和有效期,保护文件的安全性。
三、本次实践介绍
3.1 本次实践简介
1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云华为云Flexus云服务器X实例,使用的操作系统为Huawei Cloud EulerOS 2.0 (x86_64);
3.在Docker环境下部署JmalCloud个人网盘。
3.2 本次环境规划
服务器类别 | 公共镜像选择 | 内网IP地址 | Docker版本 | 操作系统版本 |
---|---|---|---|---|
华为云Flexus云服务器X实例 | Huawei Cloud EulerOS | 192.168.0.169 | 27.1.1 | Huawei Cloud EulerOS 2.0 (x86_64) |
四、购买华为云Flexus云服务器X实例
4.1 登录华为云
进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。
4.2 进入Flexus云服务器X实例购买页面
我们在华为云官网首页,精选推荐模块中,可以看到Flexus云服务器X实例,点击进入Flexus云服务器X实例主页。
点击页面中的“购买”选项,进入Flexus云服务器X实例购买页面。
4.3 购买Flexus云服务器X实例配置
- 可参考以下基础配置,进行购买:
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实例的各项配置是否正确。检查完毕后,点击“立即购买”。付款完毕后,华为云Flexus云服务器X实例购买成功。
五、远程连接Flexus云服务器X实例
5.1 查看Flexus云服务器X实例状态
进入华为云Flexus云服务的控制台,选择Flexus云服务器X实例,可以看到已经正在运行的Flexus云服务器X实例。
5.2 使用Xshell远程连接
- 复制Flexus云服务器X实例的弹性公网IP地址
- 主要填写Flexus云服务器X实例的弹性公网IP地址,输入其登录用户和密码,连接即可。
六、检查Docker环境
6.1 检查操作系统版本
检查Flexus云服务器X实例的操作系统版本,本次实践选择的版本为
Huawei Cloud EulerOS 2.0 (x86_64)
[root@flexusx-51a1 ~]# cat /etc/os-release
NAME="Huawei Cloud EulerOS"
VERSION="2.0 (x86_64)"
ID="hce"
VERSION_ID="2.0"
PRETTY_NAME="Huawei Cloud EulerOS 2.0 (x86_64)"
ANSI_COLOR="0;31"
6.2 检查内核版本
检查当前操作系统的内核版本,当前内核版本为
[root@flexusx-51a1 ~]# uname -r
5.10.0-182.0.0.95.r1941_123.hce2.x86_64
6.3 检查Docker版本
部署该项目需要提前安装Docker环境,检查Docker版本,当前安装的Docker版本为
27.1.1
。
[root@flexusx-51a1 ~]# docker -v
Docker version 27.1.1, build 6312585
6.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-01 09:33:20 CST; 7h ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 108604 (dockerd)
Tasks: 10
Memory: 27.9M
CGroup: /system.slice/docker.service
└─ 108604 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
6.5 检查Docker compose版本
检查docker compose版本,当前默认安装版本为
v2.29.1
。
[root@flexusx-51a1 ~]# docker compose version
Docker Compose version v2.29.1
七、部署JmalCloud应用
7.1 拉取JmalCloud镜像
执行以下命令,拉取JmalCloud相关镜像。
docker pull mongo:4.4
docker pull jmal/jmalcloud:latest
docker pull jmal/jmalcloud-nginx:latest
docker pull onlyoffice/documentserver:8.0.1
7.2 创建部署目录
在命令行终端上,我们创建一个部署目录
/data/jmalcloud
。
mkdir -p /data/jmalcloud && cd /data/jmalcloud
7.3 编辑docker-compose.yaml文件
本次实践使用docker compose方式部署JmalCloud个人网盘,编辑docker-compose.yaml文件,可自行修改密码和映射端口。
vim docker-compose.yaml
services:
mongo:
container_name: jmalcloud_mongodb
image: mongo:4.4
environment:
TZ: "Asia/Shanghai"
volumes:
- ./docker/jmalcloud/mongodb/data/db:/data/db
- ./docker/jmalcloud/mongodb/backup:/dump
restart: unless-stopped
healthcheck:
test: ["CMD", "mongo", "--eval", "db.adminCommand('ping')"]
interval: 10s
timeout: 5s
retries: 3
command: --wiredTigerCacheSizeGB 0.5
jmalcloud:
container_name: jmalcloud_server
image: jmal/jmalcloud:latest
environment:
MONGODB_URI: "mongodb://mongo:27017/jmalcloud"
TZ: "Asia/Shanghai"
JVM_OPTS: "-Xms256m -Xmx1024m"
volumes:
- ./docker/jmalcloud/files:/jmalcloud/files/
restart: unless-stopped
depends_on:
mongo:
condition: service_healthy
nginx:
container_name: jmalcloud_nginx
image: jmal/jmalcloud-nginx:latest
ports:
- 9090:80
- 9091:8089
environment:
TZ: "Asia/Shanghai"
links:
- jmalcloud
- office
restart: unless-stopped
office: # Optional
container_name: jmalcloud_office
image: onlyoffice/documentserver:8.0.1
environment:
TZ: "Asia/Shanghai"
JWT_ENABLED: false
ALLOW_PRIVATE_IP_ADDRESS: true
restart: unless-stopped
7.4 创建JmalCloud 容器
执行以下命令,使用docker-compose.yaml文件创建JmalCloud服务。
docker compose up -d
7.5 检查JmalCloud容器状态
检查JmalCloud容器状态,确保JmalCloud相关容器正常启动。
[root@flexusx-51a1 jmalcloud]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
43ec027d7482 jmal/jmalcloud-nginx:latest "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:9090->80/tcp, :::9090->80/tcp, 0.0.0.0:9091->8089/tcp, :::9091->8089/tcp jmalcloud_nginx
341791707d4e jmal/jmalcloud:latest "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 8088/tcp jmalcloud_server
3f373e50bf72 onlyoffice/documentserver:8.0.1 "/app/ds/run-documen…" 2 minutes ago Up 2 minutes 80/tcp, 443/tcp jmalcloud_office
599f2508da68 mongo:4.4 "docker-entrypoint.s…" 2 minutes ago Up 2 minutes (healthy) 27017/tcp jmalcloud_mongodb
7.6 检查JmalCloud容器日志
检查JmalCloud容器运行日志,确保JmalCloud服务正常运行。
[root@flexusx-51a1 jmalcloud]# docker logs 341791707d4e
__ .___ ___. ___ __ ______ __ ______ __ __ _______
| | | \/ | / \ | | / || | / __ \ | | | | | \
| | | \ / | / ^ \ | | | ,----'| | | | | | | | | | | .--. |
.--. | | | |\/| | / /_\ \ | | | | | | | | | | | | | | | | | |
| `--' | | | | | / _____ \ | `----.| `----.| `----.| `--' | | `--' | | '--' |
\______/ |__| |__| /__/ \__\ |_______| \______||_______| \______/ \______/ |_______/
:: jmalcloud :: (v2.9.3)
:: Spring Boot :: (v3.2.4)
:: JDK Version :: (v17.0.12)
[root@flexusx-51a1 jmalcloud]#
八、访问前准备工作
8.1 关闭selinux和防火墙
- 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
- 停止防火墙
systemctl stop firewalld
systemctl disable firewalld
8.2 Flexus云服务器X实例安全组配置
进入Flexus云服务器X实例控制台,进行安全组规则配置。
入方向上放行9090和9091端口,确认配置即可。
8.3 重置管理员账号(可选)
- 重置密码
docker exec -it jmalcloud_mongodb mongo jmalcloud --eval "db.getCollection('user').update({ 'creator': true }, {\$set: { 'password': '1000:c5b705ea13a1221f5e59110947ed806f8a978e955fbd2ed6:22508de12228c34a235454a0caf3bcaa5552858543258e56' }}, { 'multi': false, 'upsert': false })"
- 重启容器
docker restart jmalcloud_server
- 重置后的密码为: jmalcloud
九、访问JmalCloud服务
9.1 访问JmalCloud初始页
浏览器访问地址:http://弹性公网IP地址:9090,将IP替换为自己服务器IP地址。浏览器打开后,进入JmalCloud初始页。
9.2 创建管理员账号
创建管理员账号,自定义设置即可。
创建管理员账号完毕后,登录账号,进入JmalCloud首页。
十、JmalCloud的基本使用
10.1 上传文档
点击上传文件选项,将本地文档文件上传到JmalCloud。
点击上传文件,可以在线浏览PDF文档内容。
10.2 上传视频文件
上传视频文件,在线播放视频文件。
10.3 上传图片文件
上传图片文件,在线浏览图片。
10.4 在线写文章
点击上传小图标,选择写文章。
编写文章内容和标题,发布文章即可。
10.5 onlyoffice功能
- JmalCloud空白处右键新建测试word文档、PPT、思维导图、流程图等文件。
- word文档功能:打开新建的word文档,可以进行在线编辑等操作。
- PPT功能:打开新建的PPT文件,在线编辑PPT文件。
- 思维导图功能:打开新建的思维导图文件,在线编辑此文件。
-
流程图功能:打开新建的流程图文件,在线编辑流程图。
- EXCEL功能:打开新建的EXCEL文件,可以进行在线编辑等操作。
十一、使用体验与总结
在本次实践中,我们成功地在
华为云Flexus云服务器X实例
上部署了JmalCloud应用,整个过程和后续的使用体验都令人印象深刻。华为云的Flexus X实例以其卓越的性价比脱颖而出,同时展现了强大的计算性能、可靠的稳定性和高标准的安全保障。网络连接始终保持稳定,操作过程流畅且无任何延迟或卡顿现象。选择华为云Flexus X实例作为我们的云服务器基础,无疑为我们开启了一扇通往高效、愉悦的云服务体验的大门。JmalCloud是一款专注于私有云存储的网盘解决方案,旨在简化和加强云端文件的安全管理。此次实践再次证明了高质量云服务结合高效工具所能带来的巨大便利性,华为云Flexus云服务器X实例的表现确实值得我们向他人推荐!