828华为云征文|部署在线论坛网站 Flarum

828华为云征文|部署在线论坛网站 Flarum

  • 一、Flexus云服务器X实例介绍
  • 二、Flexus云服务器X实例配置
    • 2.1 重置密码
    • 2.2 服务器连接
    • 2.3 安全组配置
    • 2.4 Docker 环境搭建
  • 三、Flexus云服务器X实例部署 Flarum
    • 3.1 Flarum 介绍
    • 3.2 Flarum 部署
    • 3.3 Flarum 使用
  • 四、总结

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

云服务器是数字化时代的强大助力。它依托云计算技术,提供高效稳定的计算资源。可随时调整配置,灵活应对业务变化。安全可靠的数据存储,让你无需担忧。无论是企业发展还是个人项目,云服务器都能为你开启便捷、高效的云端之旅。

华为云下一代云服务器Flexus X实例焕新上线,新产品基于用户业务负载动态和内存峰值画像,动态推荐规格,减少算力浪费,提升资源利用率,首创大模型加持,智能全域调度,X-Turbo加速,常见应用性能最高可达业界同规格6倍,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景。

在这里插入图片描述

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

在这里插入图片描述
本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

在这里插入图片描述

二、Flexus云服务器X实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址和用户名,首先打开你的服务器控制台,选择重置密码

在这里插入图片描述

勾选自动重启,点击确定即可

在这里插入图片描述

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

在这里插入图片描述

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组

在这里插入图片描述

主要需要填写优先级(默认填1即可)、协议端口(协议一般为TCPUDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

在这里插入图片描述

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别系统镜像内网IP地址Docker版本操作系统版本
Flexus云服务器X实例Ubuntu192.168.0.16827.2.0Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

# 安装必要工具包
$ sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 配置仓库源
$ sudo add-apt-repository \"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \$(lsb_release -cs) \stable"	# 更新apt包索引
$ sudo apt-get update# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json{"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://ccr.ccs.tencentyun.com/","https://docker.m.daocloud.io/","https://dockerproxy.com",]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socketDocs: https://docs.docker.comMain PID: 24912 (dockerd)Tasks: 13Memory: 24.7MCPU: 3.778sCGroup: /system.slice/docker.service`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

三、Flexus云服务器X实例部署 Flarum

3.1 Flarum 介绍

Flarum 是一款非常简洁的开源论坛软件。 它响应快速、简便易用,拥有打造一片成功的社区所需的所有功能。 它也极其可扩展,允许达到终极的可定制性。

  • 免费开源:Flarum 遵循 MIT 许可证,保证无论是商业使用还是个人项目都可自由利用。用户可以根据实际需求定制平台,不受制于特定开发者或服务提供商。

  • 高度可扩展性:Flarum 的模块化设计允许用户通过安装扩展来添加功能。目前,已有超过 1300 种扩展可供选择,涵盖从主题设计到功能增强的各个方面。这些扩展不仅丰富了平台功能,也增强了平台的灵活性。

  • 移动优先设计:Flarum 特别关注移动设备的用户体验,确保其界面在手机和平板电脑上的表现同样出色。无论是浏览内容还是参与讨论,用户都能享受流畅的操作体验。

  • 快速负载与优化:Flarum 使用最小化的前端框架,并进行持续优化,确保平台的快速响应能力。这不仅提高了用户体验,也减少了服务器的负担,有助于减少运营成本。

  • 多平台兼容:Flarum 能够在共享主机或云端环境中顺畅运行,支持包括 PHP 和 MySQL 等在内的常见技术栈,便于用户根据自己的基础设施需求进行部署。

在这里插入图片描述

Flarum 的核心价值在于其可扩展性和灵活性。依托于一个持续增长的活跃社区,Flarum 持续推出多样的扩展工具,帮助用户根据自身需求定制论坛的功能。其界面友好且支持移动设备,为各种规模的社区提供了一个完美的平台。

  • 官网:https://flarum.org/
  • Github:https://github.com/flarum/flarum

3.2 Flarum 部署

  • 创建 flarum.env
# vi /mnt/docker/flarum/flarum.envDEBUG=false
FORUM_URL=http://127.0.0.1:80# Database configuration
DB_HOST=mariadb
DB_NAME=flarum
DB_USER=flarum
DB_PASS=xxxxxxxxxx
DB_PREF=flarum_
DB_PORT=3306# User admin flarum (environment variable for first installation)
# /!\ admin password must contain at least 8 characters /!\
FLARUM_ADMIN_USER=admin
FLARUM_ADMIN_PASS=xxxxxxxxxx
FLARUM_ADMIN_MAIL=admin@domain.tld
FLARUM_TITLE=Test flarum
  • 创建 docker-compose.yml
version: "3"services:flarum:image: mondedie/flarum:stablecontainer_name: flarumenv_file:- ./flarum.envvolumes:- ./flarum/assets:/flarum/app/public/assets- ./flarum/extensions:/flarum/app/extensions- ./flarum/storage/logs:/flarum/app/storage/logs- ./flarum/nginx:/etc/nginx/flarumports:- 80:8888depends_on:- mariadbmariadb:image: mariadb:10.5container_name: mariadbenvironment:- MYSQL_ROOT_PASSWORD=xxxxxxxxxx- MYSQL_DATABASE=flarum- MYSQL_USER=flarum- MYSQL_PASSWORD=xxxxxxxxxxvolumes:- ./db:/var/lib/mysql
  • ports: 映射主机的 80 端口到容器的 8888 端口
  • volumes: 挂载主机目录到容器目录
  • env_file: 环境文件

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 Flarum 镜像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

  • 启动服务

进入项目目录,执行docker-compose up -d启动命令,会自动拉取容器并运行

从 Dockerhub 拉取 Flarum 镜像,地址:https://hub.docker.com/r/mondedie/flarum

root@flexusx-c6b3:~/flarum# docker-compose up -d
Creating network "flarum_default" with the default driver
Pulling flarum (mondedie/flarum:stabled)...
latest: Pulling from mondedie/flarum
a88dc8b54e91: Pull complete
0065ed05bfc4: Pull complete
3e9bd47154ca: Pull complete
58a3a4c853c9: Pull complete
Digest: sha256:fdf32260b996eb81d538180b5a42e4fc6dadcd4b314d5f4a6c23821ca7a04d35
Status: Downloaded newer image for mondedie/flarum:latest
Creating mariadb ... 
Creating mariadb ... done
Creating flarum ... 
Creating flarum ... done
  • 配置安全组

在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听80端口,所以添加安全组为TCP:80协议端口。

在这里插入图片描述

  • 检查容器状态

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

root@flexusx-c6b3:~/flarum# docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED        STATUS        PORTS                                       NAMES
066d38ecc8a4   mondedie/flarum:stable   "/usr/local/bin/star…"   3 hours ago    Up 3 hours    0.0.0.0:80->8888/tcp, :::80->8888/tcp       flarum
3aecf098ca7c   mariadb:10.5             "docker-entrypoint.s…"   4 hours ago    Up 4 hours    3306/tcp                                    mariadb
  • 访问地址

内网:http://localhost:80
外网:http://公网IP:80

  • 访问结果

在这里插入图片描述
若出现此页面,则部署 flarum server 成功。

3.3 Flarum 使用

点击 Login 输入之前配置的管理员帐号和密码登录

FLARUM_ADMIN_USER=admin
FLARUM_ADMIN_PASS=xxxxxxxxxx

在这里插入图片描述

点击开始讨论,输入讨论标题和撰写帖子,并且需要选择标签,点击Choose Tags for Your Discussion,默认只有一个标签 General,可以选择绕过标签要求,最后点击发布讨论即可

撰写帖子时,可以添加链接、代码段、图片、引用、列表、Emoji和@某个人,输入格式比较丰富

在这里插入图片描述

发布完成后就可以在全部讨论列表中显示刚刚发布的内容了,也可以在刚刚选择的标签中查看

在这里插入图片描述

标签列表,目前不支持添加标签,所以只有一个默认的标签

在这里插入图片描述

点击标签,即可查看其帖子

在这里插入图片描述

点击讨论详情页面,上面是讨论标题和标签,左侧是讨论记录,最上面的帖子是作者发布,后面都是讨论者发布,右侧是讨论时间线,点击Flower当讨论更新时获取邮件提醒

在这里插入图片描述

点击底部Reply直接调出回复输入框

在这里插入图片描述

Reply按钮也可以调出回复输入框,还可以修改重命名讨论标题,锁定和解锁讨论, 置顶讨论,编辑标签和删除讨论

在这里插入图片描述

每条评论内容,可以点喜欢、回复、编辑和删除

在这里插入图片描述

点击个人头像中的设置,可以修改邮箱和密码

在这里插入图片描述

点击个人头像中的Administration进入管理界面,首先是仪表盘展示论坛信息汇总,包括系统版本、PHP版本、MySQL版本, 插件和语言

在这里插入图片描述

基本信息:设置您的论坛标题、语言和其他基本设置

在这里插入图片描述

权限管理:配置权限谁可以看到以及可以做什么

在这里插入图片描述

主题样式:自定义论坛的颜色、LOGO、自定义标题、自定义页脚等

在这里插入图片描述

用户管理:论坛上所有用户的分页列表

在这里插入图片描述

点击 Features - Tags - Create Primary Tag,创建一个tag,输出标签名、描述和颜色图标即可保存

在这里插入图片描述

创建完成后,就显示在tag里了,需要发布讨论就可以带上这个标签的

在这里插入图片描述

主页Tag就显示了Docker分类了

在这里插入图片描述

安装自定义扩展

Flarum 扩展列表:https://flarum.org/extensions

安装扩展

docker exec -ti flarum extension require some/extension

删除扩展

docker exec -ti flarum extension remove some/extension

列出所有扩展

docker exec -ti flarum extension list

在扩展列表中搜索chinese,搜索到简体中文的插件,记住扩展名flarum-lang/chinese-simplified

在这里插入图片描述

在容器中安装此插件

root@flexusx-c6b3:~/flarum# docker exec -ti flarum extension require flarum-lang/chinese-simplified
Using version ^1.4 for flarum-lang/chinese-simplified
./composer.json has been updated
Running composer update flarum-lang/chinese-simplified
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals- Locking flarum-lang/chinese-simplified (v1.4.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals- Downloading flarum-lang/chinese-simplified (v1.4.2)- Installing flarum-lang/chinese-simplified (v1.4.2): Extracting archive
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating autoload files
71 packages you are using are looking for funding.
Use the `composer fund` command to find out more!flarum-lang/chinese-simplified added to flarum.
Clearing the cache...
root@flexusx-c6b3:~/flarum# docker exec -ti flarum extension list                                  
flarum-lang/chinese-simplified
Clearing the cache...
root@dev-fj-srv:/home/server/code/fangjian/ubuntu/flarum#

安装插件成功后,就可以看到简体中文的语言包了,开启即可

在这里插入图片描述

这里再修改下默认语言为简体中文,并打开语言选择器开关

在这里插入图片描述

再刷新界面就可以默认显示简体中文了,并且可以切换语言

在这里插入图片描述

Flarum 的一大特点就是其扩展库。用户可以根据需要在官方网站或社区中寻找并安装适合的扩展。无论是论坛主题、更复杂的用户权限管理,还是增加社交化的功能,这些扩展都能轻松集成到社区平台中。关于论坛的基本使用就是这样了,主要就是发布讨论主题,需要更多人加入才有意思,插件功能十分丰富,可以多尝试一些,改造自己论坛的功能和主题样式,还有更多有趣的设置和功能就需要自行探索了。

四、总结

Flarum 是一款免费、开源的论坛软件,以简约和高效的设计而闻名。它是基于 MIT 开源许可证发布的,这意味着任何人都可以自由使用、修改和分发 Flarum。Flarum 的设计融合了强大的功能和简洁的用户接口,为用户提供了良好的使用体验。它由 Laravel 和 TypeScript 等成熟技术构建,无论是开发者还是社区管理员,都能轻松扩展和管理。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,由于安装的项目功能比较精简,没有集成太多插件,功能也就是发布讨论内容,整体运行很流畅,没有延迟卡顿。

体验华为云服务器的强大性能,现正值828 B2B企业节,助力企业轻松上云!无论是初创公司还是大型企业,都能享受高效、安全的计算服务。立即注册,享受专属优惠,快速部署,提升业务效率!立即行动!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/55424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GeekBand】C++设计模式笔记5_Observer_观察者模式

1. “组件协作”模式 现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。典型模式 Template MethodStrategyObserver / Event 2.…

【Linux】第一个小程序——进度条实现

🔥 个人主页:大耳朵土土垚 🔥 所属专栏:Linux系统编程 这里将会不定期更新有关Linux的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉 文章目…

【Linux进程间通信】Linux匿名管道详解:构建进程间通信的隐形桥梁

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:Linux “ 登神长阶 ” 🌹🌹期待您的关注 🌹🌹 ❀Linux进程间通信 📒1. 进程间通信介绍📚2. 什么是管道📜3…

传感器模块编程实践(三)舵机+超声波模块融合DIY智能垃圾桶模型

文章目录 一.概要二.实验模型原理1.硬件连接原理框图2.控制原理 三.实验模型控制流程四.智能感应垃圾桶模型程序五.实验效果视频六.小结 一.概要 随着科技的飞速发展和环保意识的日益增强,智能垃圾桶成为了城市生活的新宠,智能垃圾桶人们无需接触垃圾桶…

灵足时代:具身智能核心部件的新秀崛起——解析数千万元天使轮融资

在智能科技日新月异的今天,具身智能作为连接物理世界与数字世界的重要桥梁,正逐步成为科技创新的前沿阵地。近日,具身智能核心部件领域的新锐公司——“灵足时代”宣布完成数千万元天使轮融资,这一消息无疑为行业内外带来了强烈的震撼与期待。本轮融资由雅瑞智友科学家基金…

计算机组成原理(笔记6阵列乘法器、补码阵列乘法器)

手算阵列乘法器 平时我们计算乘法的时候是手算的 平时手算过程中我们是进行平行移位,可是在计算机里平行移位,会带来更大的开销,如下图我们可以看到,为此聪明的人,设计了斜移位的计算机 值得注意的是最后一行用的是平…

学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)

在线学籍管理平台系统 目录 基于SpringbootVUE的在线学籍管理平台系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大…

Thinkphp/Laravel旅游景区预约系统的设计与实现

目录 技术栈和环境说明具体实现截图设计思路关键技术课题的重点和难点:框架介绍数据访问方式PHP核心代码部分展示代码目录结构解析系统测试详细视频演示源码获取 技术栈和环境说明 采用PHP语言开发,开发环境为phpstudy 开发工具notepad并使用MYSQL数据库…

Qt的互斥量用法

目的 互斥量的概念 互斥量是一个可以处于两态之一的变量:解锁和加锁。这样,只需要一个二进制位表示它,不过实际上,常常使用一个整型量,0表示解锁,而其他所有的值则表示加锁。互斥量使用两个过程。当一个线程(或进程)…

MySQL 库的操作

温馨提示:非特殊情况不要删除和随意修改数据库 清除MySQL历史命令:system clear 增删数据库 增删数据库 登录MySQL:mysql -u root -pMySQL数据目录:/var/lib/mysql查看当前数据库列表:show databases;创建数据库&#…

代码随想录 | Day26 | 二叉树:二叉搜索树中的插入操作删除二叉搜索树中的节点修剪二叉搜索树

代码随想录 | Day26 | 二叉树:二叉搜索树中的插入操作&&删除二叉搜索树中的节点&&修剪二叉搜索树 主要学习内容: 二叉搜索树的插入删除操作 701.二叉搜索树中的插入操作 701. 二叉搜索树中的插入操作 - 力扣(LeetCode&…

CSS3练习--电商web

免责声明:本文仅做分享! 目录 小练--小兔鲜儿 目录构建 SEO 三大标签 Favicon 图标 布局网页 版心 快捷导航(shortcut) 头部(header) logo 导航 搜索 购物车 底部(footer&#xff0…

C(九)while循环 --- 军训匕首操情景

匕首操,oi~oi~oi~~~~~ 接下来的几篇推文,杰哥记录的是三大循环结构的运行流程及其变式。 本篇的主角是while循环。👉 目录: while循环 的组成、运行流程及其变式关键字break 和 continue 在while 循环中的作用while 循环的嵌套题目…

微信小程序 图片的上传

错误示范 /*从相册中选择文件 微信小程序*/chooseImage(){wx.chooseMedia({count: 9,mediaType: [image],sourceType: [album],success(res) {wx.request({url:"发送的端口占位符",data:res.tempFiles[0].tempFilePath,method:POST,success(res){//请求成功后应该返…

搜索引擎相关的一段实习经历

0 前言 就是跟搜索相关的一段经历。主要工作就是建立倒排索引库相关的一些简单内容。 又翻到了以前的工作,权作纪念。 就是简单的封装cpp的库供python语言调用。 反正就是很多版本问题等等吧各种鬼问题。 我感觉这个思路可能还是待考证。 跨语言的调用我感觉还是不…

STM32 Hal库SDIO在FATFS使用下的函数调用关系

STM32 Hal库SDIO在FATFS使用下的函数调用关系 本文并不将FATFS的相关接口操作,而是将HAL在使用FATFS通过SDIO外设管理SD卡时,内部函数的调用逻辑,有助于当我们使用CUBEMX生成FATFS读取SD卡的代码时无法运行时Debug。本文也会说明一些可能出现…

Study--Oracle-09--部署Openfiler存储服务器

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。 免费的存储服务器软件有FreeNAS 和 Openfiler。 其中Freenas的网站上只有i386及amd64的版本,也就是说Freenas不能支持64位版本的Intel CPU,而Openfiler则提供更全面的版本支持,在其网站上…

一个真实可用的登录界面!

需要工具: MySQL数据库、vscode上的php插件PHP Server等 项目结构: login | --backend | --database.sql |--login.php |--welcome.php |--index.html |--script.js |--style.css 项目开展 index.html: 首先需要一个静态网页&#x…

Linux线程(七)线程安全详解

当我们编写的程序是一个多线程应用程序时,就不得不考虑到线程安全的问题,确保我们编写的程序是一个线程安全(thread-safe)的多线程应用程序,什么是线程安全以及如何保证线程安全?带着这些问题,本…

zookeeper选举kafka集群的controller

zookeeper选举kafka集群的controller目录 文章目录 zookeeper选举kafka集群的controller目录前言一、实操体验controller的选举二、模拟controller选举四、删除controller节点 前言 kafka集群的controller是kafka集群中一个有特殊作用的broker,负责整个kafka集群的…