828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台

本文主要是介绍828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需要了解

  • 本文章主要讲述在 华为云Flexus X 实例上使用docker快速部署Servas,一款功能强大的自托管书签管理工具,专为追求高效与个性化的用户设计。
  • 选择合适的云服务器: 本文采用的是 华为云服务器 Flexus X 实例(推荐使用)
  • 连接方式: 本文通过本地shell 方式,通过弹性IP 远程连接至服务器,进行部署搭建
  • 操作系统版本: Huawei Cloud EulerOS 2.0
  • Docekr版本: Docker v27.1.1
  • Docekr-compose版本: Docker Compose v2.29.1
  • 服务器购买链接:华为云服务器 Flexus X 实例
  • Docekr安装可参考文章: 华为FlexusX与Docker+Nginx的高效整合之路
  • 详细购买配置实例可参考文章: 快速部署华为云Flexus X实例,开启您的云端之旅

Servas简介

Servas是一款功能强大的自托管书签管理工具,专为追求高效与个性化的用户设计。它允许用户轻松整理、分类并搜索自己的书签,无论是工作资料、学习笔记还是日常兴趣链接,都能迅速找到。

开源项目地址:https://github.com/beromir/Servas

在这里插入图片描述

Servas特点

数据安全与隐私保护:通过自托管模式,用户完全掌控自己的数据和隐私,确保信息安全无虞,避免第三方服务带来的潜在风险。

高效书签管理功能:提供分类、标签、搜索及快速访问等强大功能,帮助用户轻松整理、查找和访问书签,极大提升管理效率。

多用户支持与资源共享:支持多用户账户,促进团队协作与家庭资源共享,实现信息的无缝流通与高效利用。

高度可定制性与扩展性:满足用户多样化的需求,允许用户添加插件或开发新功能,实现个性化定制与功能扩展。

跨设备响应式设计:采用响应式设计,确保在各种设备上都能提供流畅的用户体验,让用户随时随地都能方便地访问和管理书签。

Servas使用场景

个性化书签管理:适合个人用户高效地整理和查找各类书签,包括工作、学习、兴趣等。

团队协作与共享:支持多用户账户,方便团队成员共享书签资源,提升协作效率。

项目资料管理:助力项目管理,通过创建书签文件夹集中存储项目相关链接和资源,促进信息共享。

知识整合与回顾:作为知识管理工具,帮助用户整理学习资料、研究论文等,便于检索和复习。

教育资源平台:教育机构可利用Servas管理课件、学生资料等教学资源,实现资源的集中与共享。

高度定制化:用户可根据需求定制功能,添加插件或开发新功能,满足特定管理需求。

安全隐私保障:自托管模式确保用户数据安全和隐私保护,避免第三方风险。

Servas的部署流程

详细文档可参考开源项目地址:https://github.com/beromir/Servas

在这里插入图片描述

查看docker服务状态

[root@flexusx-251f ~]# systemctl status docker.service
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: d>Active: active (running) since Tue 2024-09-03 16:33:06 CST; 3 days ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 586452 (dockerd)Tasks: 249Memory: 233.5MCGroup: /system.slice/docker.service.............

检查docekr版本

[root@flexusx-251f ~]# docker --version
Docker version 27.1.1, build 6312585

检查docker compose 版本

检查Docker compose版本,确保2.0以上版本

[root@flexusx-251f ~]# docker-compose -v
Docker Compose version v2.29.1

拉取镜像

[root@flexusx-251f ~]# docker pull  beromir/servas

编写.env文件

可以使用两种数据存储方式,在本次部署中我们使用SQLite,也可使用MySQL

[root@flexusx-251f ~]# mkdir /servas
[root@flexusx-251f ~]# cd /servas/
[root@flexusx-251f servas]# vim .env
[root@flexusx-251f servas]# cat .env
APP_NAME=Servas
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=https://123.249.27.118  # 修改为自己主机IPSERVAS_ENABLE_REGISTRATION=true# SQLite
DB_CONNECTION=sqlite
DB_DATABASE=/var/www/html/database/sqlite/servas.db
DB_FOREIGN_KEYS=true

编写docekr-compose.yaml文件

[root@flexusx-251f servas]# vim docekr-compose.yaml
[root@flexusx-251f servas]# cat docekr-compose.yaml
version: "3"services:servas:image: beromir/servascontainer_name: servasrestart: alwaysports:- "2000:80"volumes:- ./.env:/var/www/html/.env  # 将宿主机的.env文件挂载到容器内的/var/www/html/.env路径- servas-db-sqlite:/var/www/html/database/sqlite # 将卷挂载到容器内的/var/www/html/database/sqlite路径volumes:servas-db-sqlite:    # 创建卷

创建容器

[root@flexusx-251f servas]# docker-compose up -d
WARN[0000] /servas/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] Running 4/4v Network servas_default          Created                                        0.1sv Volume "servas_servas-db-data"  Created                                        0.0sv Container servas-db-1           Started                                        0.5sv Container servas                Started                                        0.6s

生成应用程序秘钥

生成密钥并重新启动 servas 容器

[root@flexusx-251f servas]# docker exec -it servas php artisan key:generate --forceINFO  Application key set successfully.[root@flexusx-251f servas]# docker-compose restart
WARN[0000] /servas/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] Restarting 2/2v Container servas       Started                                                10.2sv Container servas-db-1  Started                                                 1.4s

查看容器运行状态

[root@flexusx-251f servas]# docker-compose ps
WARN[0000] /servas/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME          IMAGE            COMMAND                  SERVICE   CREATED         STATUS          PORTS
servas        beromir/servas   "/docker-entrypoint.…"   servas    5 minutes ago   Up 41 seconds   9000/tcp, 0.0.0.0:6666->80/tcp, :::6666->80/tcp
servas-db-1   mysql:5.7        "docker-entrypoint.s…"   db        5 minutes ago   Up 50 seconds   3306/tcp, 33060/tcp

访问servas

放行安装组,端口号:2000

在这里插入图片描述

在浏览器输入地址:http://主机IP:2000/login(默认进入登录页面,如果访问不成功,可查看日志报错信息)

在这里插入图片描述

注册账号,访问地址:http://主机IP:2000/register

输入用户名,邮箱,密码进行注册

在这里插入图片描述

点击注册会自动登录进主页面,也可选择自己登录

在这里插入图片描述

登陆成功

在这里插入图片描述

基本使用

新增一个书签链接,点击左侧导航栏 Groups 的 + ,新建分组

在这里插入图片描述

自定义组名,点击创建

在这里插入图片描述

点击右上角新增连接

在这里插入图片描述

输入网址,标题,选择分组

在这里插入图片描述

点击创建链接

在这里插入图片描述

创建 成功,点击右上角可进行访问

在这里插入图片描述

访问成功,完成搭建

在这里插入图片描述

总结

在华为云Flexusx服务器上部署Servas书签管理工具,优势显著。Flexusx以其高性能、高可用性和弹性伸缩能力,为Servas提供了稳定可靠的运行环境。Servas的自托管特性与Flexusx的安全隔离相结合,确保了用户数据的安全与隐私。同时,Flexusx的灵活计费模式降低了用户的IT成本,让用户能够按需付费,有效管理预算。此外,华为云的专业技术支持和全球服务网络,为用户提供了全方位的服务保障。选择华为云Flexusx服务器部署Servas,不仅提升了书签管理的效率与安全性,还享受到了云计算带来的便捷与成本优势。如果你也需要,赶紧部署起来吧

产品链接:华为云Flexus云服务器X实例_直播_建站服务器-华为云

在这里插入图片描述

这篇关于828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1146433

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创