828华为云征文|部署内容管理系统 Joomla

news2024/11/15 7:08:42

828华为云征文|部署内容管理系统 Joomla

  • 一、Flexus云服务器X实例介绍
    • 1.1 云服务器介绍
    • 1.2 应用场景
    • 1.3 核心竞争力
  • 二、Flexus云服务器X实例配置
    • 2.1 重置密码
    • 2.2 服务器连接
    • 2.3 安全组配置
  • 三、部署 Joomla
    • 3.1 Joomla 介绍
    • 3.2 Docker 环境搭建
    • 3.3 Joomla 部署
    • 3.4 Joomla 使用
  • 四、总结

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

1.1 云服务器介绍

使用云服务器的意义在于其提供的弹性、可扩展性和成本效益,使企业能够根据需求动态调整资源,优化运营效率,同时降低前期投资和维护成本。云服务器消除了物理硬件的限制,加快部署速度,提高了业务的灵活性和响应市场变化的能力。

华为云下一代云服务器Flexus X实例焕新上线,新产品具备柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景,从而帮您快速上云!

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

在这里插入图片描述

1.2 应用场景

Flexus云服务器X实例打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。

  • 电商直播:基于Flexus X实例搭建电商交易平台,可以从容面对电商市场瞬息万变对的业务压力变化。
  • 企业建站:面向博客、论坛,和企业门户等业务场景,帮助企业传播价值信息,促进信息共享和交流,支撑用户建设多功能的传播和交互平台。
  • 个人开发测试:开发者在开发、测试过程中需要的环境资源,可以选择从云上提供。基于Flexus云服务器X实例搭建开发测试环境,更加便利,成本更优。
  • 游戏服务器:适用于搭建游戏后台服务器,强大算力轻松应对千人同时在线,同时平滑扩容可快速应对服务器玩家数量上涨诉求,超强的网络加速能力提升用户体验。

1.3 核心竞争力

  • 柔性算力随心配
    基于用户业务负载动态和内存峰值画像,动态推荐规格,减少算力浪费,提升资源利用率

  • 一直加速一直快
    首创大模型加持,智能全域调度;X-Turbo加速,常见应用性能最高可达业界同规格6倍

  • 越用越省降本多
    按照算力规格变化,精准计算用量,按需灵活计费,搭配智能推介,始终确保成本更优

  • 安全可靠更放心
    提供旗舰级安全品质,跨AZ 99.995%可用性,100+全球权威合规认证

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

2.1 重置密码

购买完成后,会短信通过你的云服务器信息,重点是公网IP地址和用户名。首先我们需要打开你的服务器控制台,完成重置密码

在这里插入图片描述

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

在这里插入图片描述

2.2 服务器连接

  • 方式一:使用控制台提供的VNC方式登录

  • 方式二:使用Putty、Xshell等工具登录Linux弹性云服务器,
    a) 下载安装登录工具,例如Putty。
    b) 输入弹性公网IP。
    c) 输入用户名:root、密码,单击“确定”。

  • 方式三:使用Linux/Mac OS系统主机登录Linux弹性云服务器。
    a) 执行连接命令。
    ssh 弹性公网IP
    例如:ssh 123.xxx.xxx.456
    b) 输入用户名:root、密码,登录服务器。

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

在这里插入图片描述

2.3 安全组配置

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

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

在这里插入图片描述

主要需要填写优先级(默认填1即可)、协议端口信息(一般选择你项目需要暴露的端口即可),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

在这里插入图片描述

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

三、部署 Joomla

3.1 Joomla 介绍

Joomla! 是一款免费的开源内容管理系统 (CMS),用于发布网络内容。它建立在模型-视图-控制器 Web 应用程序框架上,可以独立于 CMS 使用,让您可以构建强大的在线应用程序。Joomla! 是最受欢迎的网站软件之一,这要归功于其全球开发者和志愿者社区,他们确保该平台具有用户友好性、可扩展性、多语言性、可访问性、响应性、搜索引擎优化等特点。

CMS 的定义是一种应用程序(基于 Web),它为具有不同权限级别的多个用户提供管理网站项目或内联网应用程序的(全部或部分)内容、数据或信息的功能。管理内容是指创建、编辑、存档、发布、协作、报告、分发网站内容、数据和信息。

Joomla! 可用于:企业网站或门户、小型企业网站、在线杂志、报纸和出版物,电子商务和网上预订,政府、非营利组织和组织网站,社区、学校和教堂网站或门户网站,个人或家庭主页。

在这里插入图片描述

Joomla 为您提供了绝佳的机会来发展您的业务,构建网站和应用程序,坚如磐石的代码库和庞大的全球社区将帮助您快速上手。无论您是想构建网站还是开发应用程序、开发模板或扩展,还是基于我们的框架开发全新的东西,有了 Joomla,可能性无穷无尽,今天就开始使用 Joomla 吧!

  • 官网:https://www.joomla.org/
  • Github:https://github.com/joomla/joomla-cms

3.2 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 Engine
     Loaded: 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.socket
       Docs: https://docs.docker.com
   Main PID: 24912 (dockerd)
      Tasks: 13
     Memory: 24.7M
        CPU: 3.778s
     CGroup: /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

3.3 Joomla 部署

  • 创建 docker-compose.yml

需要三个services:joomla、mysql、phpmyadmin

version: '2'

services:
  joomla:
    #image: joomla:3.6.2-apache-php7
    image: joomla:3.6.2-apache
    links:
     - mysql
    ports:
     - "2370:80"
    environment:
     - JOOMLA_DB_HOST=mysql:3306
     - JOOMLA_DB_PASSWORD=12345678
    volumes:
     - ./code:/var/www/html

  mysql:
    image: mysql:5.7.14
    environment:
     - MYSQL_ROOT_PASSWORD=12345678
     - MYSQL_DATABASE=joomla
    volumes:
     - ./database:/var/lib/mysql

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:4.6.4-1
    links:
     - mysql
    ports:
     - "2371:80"
    environment:
     - PMA_HOST=mysql
  • volumes:映射容器内部文件路径到本地
  • ports:配置访问端口

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

  • 配置安全组

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

在这里插入图片描述

  • 启动服务

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

从 docker hub 拉取 Joomla 镜像,地址:https://hub.docker.com/_/joomla

root@flexusx-c6b3:~/joomla# docker-compose up -d
Creating network "joomla_default" with the default driver
Pulling mysql (mysql:5.7.14)...
5.7.14: Pulling from library/mysql
357ea8c3d80b: Pull complete
256a92f57ae8: Pull complete
d5ee0325fe91: Pull complete
a15deb03758b: Pull complete
7b8a8ccc8d50: Pull complete
1a40eeae36e9: Pull complete
833539b56478: Pull complete
4f350efbb7e5: Pull complete
266f161e49c6: Pull complete
b53a75e45220: Pull complete
75196bb75c29: Pull complete
Digest: sha256:c8f03238ca1783d25af320877f063a36dbfce0daa56a7b4955e6c6e05ab5c70b
Status: Downloaded newer image for mysql:5.7.14
Pulling joomla (joomla:3.6.2-apache)...
3.6.2-apache: Pulling from library/joomla
6a5a5368e0c2: Pull complete
de059afc6b5d: Pull complete
9b1ac0143753: Pull complete
a05dcf7da589: Pull complete
5e38500c0906: Pull complete
a9cba9364455: Pull complete
cc53f7ef4906: Pull complete
6b6a63a6d903: Pull complete
451d9efcb5d6: Pull complete
850743d4e387: Pull complete
720bc600730d: Pull complete
631b7b76ef12: Pull complete
9704d22c95df: Pull complete
8cf045bad67a: Pull complete
0716e0d1c7f4: Pull complete
a3185d25ae5b: Pull complete
2b6786ca2c28: Pull complete
61f824ad7e03: Pull complete
e68799170f63: Pull complete
Digest: sha256:71ba7737a516e57353f19bf7cb78ba10409bd17d273ac79bf05579d8c33ad7e8
Status: Downloaded newer image for joomla:3.6.2-apache
Pulling phpmyadmin (phpmyadmin/phpmyadmin:4.6.4-1)...
4.6.4-1: Pulling from phpmyadmin/phpmyadmin
e110a4a17941: Pull complete
11322cb8a123: Pull complete
32d0a8f76a6d: Pull complete
6fb3852b28dc: Pull complete
a358b8616f5a: Pull complete
32130b8bb890: Pull complete
Digest: sha256:f6fa7ba71dcf9f5e024af5ddf1d6c3c9714ae1f963813ade5310ebe4095233e9
Status: Downloaded newer image for phpmyadmin/phpmyadmin:4.6.4-1
Creating joomla_mysql_1 ... 
Creating joomla_mysql_1 ... done
Creating joomla_phpmyadmin_1 ... 
Recreating joomla_joomla_1 ... 
Recreating joomla_joomla_1
Creating joomla_phpmyadmin_1
Recreating joomla_joomla_1 ... done
Creating joomla_phpmyadmin_1 ... done
  • 检查容器状态

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

root@flexusx-c6b3:~/joomla# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                                   NAMES
5806d7c02f7c   joomla:3.6.2-apache             "/entrypoint.sh apac…"   14 minutes ago   Up 14 minutes   0.0.0.0:2222->80/tcp, :::2222->80/tcp   joomla_joomla_1
523da354d1d4   phpmyadmin/phpmyadmin:4.6.4-1   "/run.sh"                14 minutes ago   Up 14 minutes   0.0.0.0:81->80/tcp, :::81->80/tcp       joomla_phpmyadmin_1
3bf8c541b14e   mysql:5.7.14                    "docker-entrypoint.s…"   14 minutes ago   Up 14 minutes   3306/tcp                                joomla_mysql_1
  • 访问地址

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

  • 访问结果

在这里插入图片描述

若出现此页面,则部署 joomla server 成功。

3.4 Joomla 使用

按照Joomla安装向导完成环境配置,依次确定配置、数据库和概况,首先填写网站基本信息和注册管理员账户

在这里插入图片描述

数据库设置,主机名、数据库名、数据库密码为docker-compose.xml中配置的参数,用户名默认root

在这里插入图片描述

概框页面展示我们前面设置的参数进行确定,安装示范数据这里选择手册风格的示范内容(英文),安装后网站内容为手册风格

在这里插入图片描述

下面还有更多配置描述,确定后点击安装完成
在这里插入图片描述

安装过程可能时间较长,耐心等待,包括旧数据表备份、数据库表创建、示范数据安装、配置文件创建

在这里插入图片描述

出现下述页面,即表示成功安装您的Joomla网站了

在这里插入图片描述

安装中文语言包

在这里插入图片描述

设置默认语言为中文

在这里插入图片描述

最后需要彻底删除目录installation,即可进入网站:http://127.0.0.1:2370/

在这里插入图片描述

或者查看后台管理:http://127.0.0.1:2370/administrator,输入设置的管理员帐号和密码完成登录

在这里插入图片描述

后台管理的控制面板,功能十分丰富,内容管理:添加文章、文章管理、文章分类管理、多媒体文件管理,前台配置:菜单管理、模块管理,会员管理:查看会员,系统配置:全局配置、模板管理 、语言管理,扩展管理:安装扩展

在这里插入图片描述

添加新文章,编辑器是富文本编辑器,貌似不支持markdown

在这里插入图片描述

保存后即发布到网站,可以选择显示在网站上的某个类别里

在这里插入图片描述

发布成功后就可以在网站的news分类中查看到刚刚编辑并保存的文章了

在这里插入图片描述

我们来查看下 Joomla 的映射文件路径下的结构

root@flexusx-c6b3:~/joomla# tree -L 1
.
|-- code
|-- database
`-- docker-compose.yml

2 directories, 1 file
  • database即为数据库目录
  • code即为站点目录,包括网页的代码数据

Joomla 作为内容管理系统的个人使用就是上面的这些了,主要感觉编辑器比较传统,网站主题界面都比较老旧,不符合现代审美,可能需要更多的调整,其他更多的功能和配置就需要自行探索了。

四、总结

云服务器为 Docker 项目提供了灵活、可扩展的部署环境。推荐使用华为云Flexus云服务器X实例,可以根据项目需求选择合适的配置。例如,对于个人小项目,可以选用配置较低的入门级实例;对于高并发、大数据处理等场景,则可以选择高性能的计算型实例。此外,这些云服务商还提供了丰富的云产品生态,如负载均衡、数据库、存储等,可以帮助你快速搭建完整的应用架构。

此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,部署的 Joomla 使用体验很完美,能充分发挥云计算的强大优势,云服务器弹性伸缩能力强,可根据网站访问量自动调整资源配置,保证网站始终保持流畅运行,确保博客的顺畅运行,为使用者提供无忧的博客创作和分享体验。主要是Joomla的UI设计没有达到预期,没有体验下去的欲望了。

华为云正在举行828 B2B企业节,无疑为寻求性价比的用户提供了一个绝佳的机会机享受到高性能的计算资源和支持。把握这次机会,不仅可以节省成本,更能为您的业务增长注入强劲动力。
快来体验华为云带来的无限可能吧!立即体验

在这里插入图片描述

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

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

相关文章

阿里中间件——diamond

一、前言 最近工作不忙闲来无事,仔细分析了公司整个项目架构,发现用到了很多阿里巴巴集团开源的框架,今天要介绍的是中间件diamond. 二、diamond学习笔记 1、diamond简介 diamond是一个管理持久配置(持久配置是指配置数据会持久化…

倒计时7天!CCS2024大模型安全与产业应用创新研讨活动诚邀你来

当下,“人工智能”已成为催生新质生产力的重要引擎,大模型在加速产业升级和经济增长的同时,也为网络安全带来了全新的机遇与挑战。「大模型安全与产业应用创新研讨活动」由百度安全、成都无糖信息联合承办,特邀云安全联盟CSA大中华…

Windows用户取消共享文件夹密码方法(Method for Windows Users to Cancel Shared Folder Password)

Windows用户取消访问共享文件夹密码方法 💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您…

IP学习——oneday

1.什么是网络?为什么需要网络? 空间,时间;传统的邮件传输要考虑到距离,网络解决了空间距离(太远)、解决了时间问题(旧音乐等) 云:面向客户的虚拟化服务 运营商公司主营…

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)

关于java应用的监控本系列有文章如下: 【运维监控】influxdb 2.0telegraf 监控tomcat 8.5运行情况 【运维监控】influxdb 2.0grafana 监控java 虚拟机以及方法耗时情况 【运维监控】Prometheusgrafana监控tomcat运行情况 【运维监控】Prometheusgrafana监控spring b…

02 Flask-快速上手

创建项目文件 从电脑选择一个盘符(来存放之后学习的项目文件) 这里选择以电脑C盘的桌面来做演示 在选择的盘符里面创建一个文件夹(来保存之后的学习文件) 使用 poetry 创建一个初始配置项(pyproject.toml) 详情参考 poetry init创建虚拟环境 poetry env use python激活虚拟…

面向可信和节能的雾计算医疗决策支持系统的优化微型机器学习与可解释人工智能

这篇论文的标题为《Optimized Tiny Machine Learning and Explainable AI for Trustable and Energy-Efficient Fog-Enabled Healthcare Decision Support System》,发表在《International Journal of Computational Intelligence Systems》2024年第17卷&#xff0c…

Gemini的AI生图消失数月终重返!Imagen 3或成谷歌“大招”,为避免Deepfake绞尽脑汁,网友:最逼真的AI人像!

谷歌Gemini的AI生图功能在漫长的沉寂后官宣重返!并推出了重大升级后的模型Imagen 3! 此前,Gemini的这项功能因为过分注重“政治正确”而被群嘲。例如生成了黑人形象的华盛顿等等,在引起广泛争议之后,这项功能随之被禁用。 现在,谷歌对其进行了升级,并准备在“未来几天…

[数据集][目标检测]电动车头盔佩戴检测数据集VOC+YOLO格式4235张5类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4235 标注数量(xml文件个数):4235 标注数量(txt文件个数):4235 标注…

Github 2024-09-02 开源项目周报 Top13

根据Github Trendings的统计,本周(2024-09-02统计)共有13个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3TypeScript项目3Vue项目2Rust项目2Go项目2Dart项目1Jupyter Notebook项目1Shell项目1Dockerfile项目1PHP项目1Blade项目1AI.AppFlow…

聚铭网络受邀成为ISC终端安全生态联盟首批成员单位

近日,在2024数博会这一行业盛会上,全国首个专注于终端能力的联盟——ISC终端安全生态联盟正式成立,聚铭网络受邀成为该联盟的首批成员单位之一。 ISC终端安全生态联盟由360集团发起,并联合20余家业内领先企业共同创立。联盟旨在通…

fortran安装

编写时间: 2024年9月5日10:36:40 Fortran环境配置: Visual Studio 2022 Intel oneAPI Base Toolkit Intel HPC Toolkit 演示环境: Windows 10 x64 VMware虚拟机 准备工作 下载Visual Studio 2022 下载链接: https://visual…

JAVA—单元测试

单元测试:就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试 之前是使用main函数调用来进行检测,无法实现自动化测试 也会影响其他方法的测试 目录 1.junit框架概述 2.junit框架的常见注解 1.junit框架…

【软件测试专栏】自动化测试函数篇

博客主页:Duck Bro 博客主页系列专栏:软件测试专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 自动化测试函数篇 关键词:函数、浏览器参数、常用函数…

JVM系列(十) -垃圾收集器介绍

一、摘要 在之前的几篇文章中,我们介绍了 JVM 内部布局、对象的创建过程、运行期的相关优化手段以及垃圾对象的回收算法等相关知识。 今天通过这篇文章,结合之前的知识,我们一起来了解一下 JVM 中的垃圾收集器。 二、垃圾收集器 如果说收集算法是内存回收的方法论,那么…

前端面试题——栈与队列、动态路由、链表

栈、队列与链表 Java数据结构栏目总结-CSDN博客 栈(Stack) 栈是一种后进先出(LIFO, Last In First Out)的数据结构。它只允许在栈顶进行添加(push)或删除(pop)元素的操作。 基本操…

学习笔记八:基于Jenkins+k8s+Git+DockerHub等技术链构建企业级DevOps容器云平台

基于Jenkinsk8sGitDockerHub等技术链构建企业级DevOps容器云平台 测试jenkins的CI/CD在Jenkins中安装kubernetes插件安装blueocean插件配置jenkins连接到我们存在的k8s集群配置pod-template添加自己的dockerhub凭据测试通过Jenkins部署应用发布到k8s开发环境、测试环境、生产环…

连锁美业门店如何寻找精准客户?美业SaaS拓客系统管理系统源码

连锁美业门店要寻找精准客户,可以采取多种方法结合现实因素进行推广和营销。以下是博弈美业系统给出的一些建议: 1.定位目标客户群体: 首先,门店需要确定目标客户是谁。这可能包括年龄、性别、收入水平、生活方式以及消费习惯等…

AI+RuoYi

1.RuoYi-Vue入门 采用了前后端分离的单体架构设计 1.1运行后端项目 1.Git下载 打开gitee - 点击克隆 -复制https - 打开IDEA关闭project - get vcs - 粘贴 通过idea克隆若依源码,仓库地址:RuoYi-Vue: 🎉 基于SpringBoot,Sprin…

屎记·大夏王本纪

大夏王,古遂州人氏。公元 2023 年冬,君临绵州,是为称王,国号 CW,建元 BK,意为可递万世而为君。以颈上常年绿光,自以为祥瑞,故又自号“森林”。其人方头大耳,幼时则谓富贵…