【华为云-开发者专属集市】DevCloud+ECS、MySQL搭建WordPress

news2024/11/24 8:05:25

文章目录

    • AppBazaar官网
    • 选择与购买项目
    • 项目概况
    • 操作过程
      • 购买DevCloud服务
      • 创建项目
      • 添加制品库
      • 应用部署
        • 购买ECS
        • 添加部署模板并执行任务
        • 故障排除
        • 安装及访问WordPress
        • 登录网站管理后台
        • 访问网站
        • 完善部署模板
      • 资源释放
      • 使用总结


AppBazaar官网

首先,我们来到AppBazaar的官网:https://console.huaweicloud.com/appbazaar/home

image-20221120110457554.png

AppBazaar现有16个项目,含括了工作中常用的服务架构。我们可在这里选择自己感兴趣的项目或者想要了解的项目来进行玩耍,正如官方的宣言:一键部署,构建应用无负担

那究竟要如何玩耍呢?


选择与购买项目

首先登录平台,如果没有华为云账号,得先注册账号,实名认证后再继续。

然后点选所需的项目进入购买页面。

image-20221120112402324.png

然后点击 立即购买(PS:现在可是免费呢,而且还是终身的,快去体验啦😘)

image-20221120112439384.png

点选 用户协议 就可以 提交订单

image-20221120113738717.png

然后就是明确金额和点击 确认付款 之后就会提示订单支付成功。

image-20221120114009672.png

image-20221120114317120.png

购买成功后,可以前往买家中心,在此处可查看到所购买的项目,然后就可以去下载对应的文档来进行参考与学习了。

image-20221120114818418.png

所下载的文档如下图所示,包含了这个项目的上云指导和操作指导。

image-20221120120003535.png

接下来,就可以去尝试和体验了,心动不如行动!那就让金鱼哥来做先锋队。


项目概况

项目名称:WordPress

项目简介:WordPress是一款个人博客系统,也可以把 WordPress当作一个内容管理系统(CMS)来使用,它是使用php语言和MySQL数据库开发的,用户可以在支持 php 和 MySQL数据库的服务器上使用自己的博客。

开发语言:php

应用运行环境:CentOS、Nginx、php、MySQL

涉及云服务:弹性云服务器 ECS、DevCloud


是不是听到了一个新的名词:DevCloud,那DevCloud究竟是什么呢?DevCloud是一个软件开发平台,是一站式、全流程、安全可信的云原生DevSecOps平台,提供项目管理、代码托管、流水线、代码检查、编译构建、部署、测试、制品仓库等服务,助力质量提升和效率倍增。

而这次项目部署需要使用到ECS和DevCloud平台。

如果想详细了解DevCloud平台的情况,可到官网进行了解:https://support.huaweicloud.com/devcloud/index.html

image-20221120202452542.png

image-20221122221427726.png


操作过程

购买DevCloud服务

登录华为云后,按 产品-开发与运维-软件开发平台DevCloud 路径后,即可进入华为云DevCloud平台首页。

image-20221120171138143.png

点击管理控制台按钮,进入DevCloud项目列表。

image-20221120171223183.png

金鱼哥所在城市是广州,因此将区域切换到 华南-广州
因服务还未开通,所以会有相关提示,例如是否使用新主题,金鱼哥要做先锋队,那就选择使用新主题。

image-20221120171537302.png

个人使用选择 基础版 并点击 免费开通 跳转到产品选择页面。

image-20221120171716450.png

image-20221120171803228.png

明确相关条款后选择 下一步

image-20221120174323813.png

明确要购买的产品服务即可去支付确认付款

image-20221120174402037.png

image-20221120174422186.png


创建项目

购买成功后即可从DevCloud平台首页进入管理控制台

image-20221120201835956.png

或者从用户控制台中去选择对应的服务也可进入到DevCloud平台的控制台。

image-20221120201939791.png


在控制台中点击立即使用

image-20221120202347441.png

点击新建项目进入到项目创建页面。

image-20221120202640197.png

在新建项目页,按如下参数配置项目:
项目流程:Scrum
项目名称:自定义(如:wordpress)
点击确定按钮完成项目创建

image-20221120202807109.png

image-20221120203833360.png

image-20221120203731716.png


添加制品库

在本地电脑中新建txt文档并重命名为docker-compose.wordpress.yml,或者直接使用Markdown之类的软件创建文件。
复制以下内容至docker-compose.wordpress.yml文件中。
若是在正式应用环境,需要根据实际情况将以下password、user等相关信息进行修改。

version: "3"
services:
  db:
    image: mysql:8.0
    command:
      - --default_authentication_plugin=mysql_native_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress

volumes:
  db_data:

注意:Yaml文件有格式要求,注意配置项前面的空格和层级的对齐。


将文件上传至制品库中。

image-20221120211321878.png

image-20221120211503951.png


应用部署

购买ECS

应用需要部署到服务器上,因此需要购买一台ECS,再将应用部署上去。
在项目页面中,选择 通用设置 进入通用设置页面。
选择 主机组管理 ,点击 新建主机组 按钮。

image-20221120211749094.png

输入主机组名称(如:Linux_Group),点击保存按钮完成主机组创建。

image-20221120211841790.png

自动跳转到主机信息页面,点击导入ECS按钮。

image-20221120212053606.png


由于还未创建ECS,点击ECS控制台按钮,进入ECS控制台。

image-20221120212141400.png

点击购买弹性云服务器按钮。
image-20221120212313446.png

基础配置 步骤,按如下配置:
计费模式:按需计费
区域:华南-广州(与DevCloud项目所在区域保持一致)
可用区:随机分配
CPU架构:x86计算
规格:S6.small.1(可通过1vCPU,1GB进行搜索过滤,实际项目根据实际情况选择)
镜像:公共镜像CentOS 7.9 64bit(40GB)
系统盘:高I/O

image-20221120213649476.png

image-20221120213804844.png

点击下一步:网络配置按钮

在网络配置页按如下配置对应参数:
网络:vpc-default/subnet-default
安全组:自定义(如果安全组入向规则里没有TCP: 22和TCP:8383端口,需要点击新建安全组按钮,
进入对应安全组,配置入方向规则TCP: 22和TCP:8383端口)

image-20221120220345219.png

创建一个新的安全组或者可使用在用的安全组。

image-20221120221042302.png

image-20221120221141227.png

弹性公网IP:现在购买
线路:全动态BGP
公网带宽:按带宽计费
带宽大小:1
释放行为:随实例释放
点击下一步:高级配置按钮

image-20221120221334267.png

在高级配置页,按如下进行配置
云服务器名称:默认/自定义
登录凭证:密码
密码:自定义(请牢记,后续部署使用)
其他默认,点击下一步:确认配置按钮

image-20221120221617938.png

确认配置页,会显示之前步骤配置的ECS参数,购买数量:1,勾选我已阅读并同意《镜像免责声 明》,点击立即购买按钮,完成ECS创建。

image-20221120221745768.png

在ECS列表页,可以看到新创建的ECS。

image-20221120232043408.png

image-20221120232128206.png


如果需要长期进行实验和测试,还是购买一台长期的机器来做实验,金鱼哥这边在双十一活动的时候购买了一台HECS的机器,用于后续的测试。因此后续的各种实验和测试都使用这台HECS。

image-20221121214150253.png


返回DevCloud页面,将创建的ECS导入(如果没有刷新,先将页面关闭,再打开即可)。

image-20221121215540642.png

在导入ECS页面,按如下参数进行配置:
用户名:root
密码:购买ECS时设置的密码
端口:22
勾选声明,点击添加按钮

image-20221121215850058.png

返回主机信息页面,可以看到ecs已被添加到主机组,并显示连通性验证成功。

image-20221121215941763.png


添加部署模板并执行任务

按照路径部署-部署任务进入部署服务,点击新建任务按钮。

image-20221121220230866.png

部署模板选择空白模板,点击下一步按钮。

image-20221121220519813.png

通过点击左侧部署步骤间的+号(第一个步骤直接点击左侧栏添加即可),界面右侧可弹出添加步骤菜单。
本次操作需要依次添加安装/卸载Docker执行shell命令选择部署来源执行shell命令步骤。

安装/卸载Docker步骤,选择主机组,其余保持默认配置。

image-20221121221036920.png

image-20221121221459255.png

image-20221121221944140.png

在第一个执行shell命令步骤,重命名为安装docker-compose
输入shell命令:

yum -y install docker-compose 

image-20221121222810107.png

选择部署来源步骤,选择软件包为之前上传的docker-compose.wordpress.yml文件。
下载到主机的部署目录输入为:/root/wordpress/

image-20221121223809299.png

在第二个执行shell命令步骤,重命名为启动服务

docker-compose -f /root/wordpress/docker-compose.wordpress.yml up -d

image-20221121224151361.png

点击保存并执行按钮。
界面会自动跳转到部署任务执行界面,左侧显示部署步骤执行进度,右侧打印部署日志。
如下图所示,部署任务正在执行,请耐心等待。

image-20221121224239881.png


故障排除

这次操作中,遗憾的是并没有像参考文档那样说的等待就可成功,而是在最后的一个任务遇到错误。

图片为第2次部署中的错误(中途手动停止),第1次部署时最后一个任务的时间起码超过20分钟而自动停止出现报错。

image-20221122193947803.png

image-20221122211848999.png

在控制台中,并没有看到相关的错误日志提示。

去ECS查看系统日志,可看到有任务在执行的提示信息,可惜的是也并没有具体的错误信息来辅助定位。

image-20221122193816749.png

当后面停止了部署任务后,在日志中还会不断提示有任务仍然继续运行,若想停止进程,可按如下图方式来进行停止:

image-20221121233207400.png

既然是用到docker的形式来进行,那一定会有相关的镜像下载成功才对,但查看本地镜像为空:

image-20221122201254222.png

既然是最后一个任务有问题,那干脆直接在HECS上执行启动命令,看看是否有相关报错信息:

image-20221121232617540.png

期间看到的报错信息已经很明显了,金鱼哥根据过往的工作经验,分析出肯定是由于去下载国外镜像源的网络原因造成。因此我们使用docker都需要配置镜像加速器。

可在控制台中检索容器镜像服务进入到对应的服务页面,然后选择镜像中心-镜像加速器,即可根据参考文档进行配置。

image-20221122200859269.png

# 修改为对应的镜像加速器地址。
[root@hecs-test ~]# vim /etc/docker/daemon.json
{
    "registry-mirrors": [ "https://xxxxxxxxxxxxxxxxxxx.mirror.swr.myhuaweicloud.com" ]
}
[root@hecs-test ~]# systemctl daemon-reload 
[root@hecs-test ~]# systemctl restart docker
[root@hecs-test ~]# docker info 
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.09.0
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-1160.53.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.794GiB
Name: hecs-test
ID: FIX3:LYRG:DWX5:OHQC:MF5R:6YGK:WZW6:BJ54:GNIF:ZKFV:NZSD:LZBS
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Registry Mirrors:
 https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.mirror.swr.myhuaweicloud.com/
Live Restore Enabled: false
Product License: Community Engine

使用命令测试镜像下载,可顺利下载对应的镜像。

image-20221122201504006.png

然后重新执行部署任务,可看到任务执行成功。在HECS查看到所需的镜像也已经进行下载,查看容器的运行情况也可知所需的容器已经在运行。

image-20221122202014596.png

至此,部署任务已经成功完成,可进行后续的安装。


安装及访问WordPress

应用部署任务执行成功后,就可以在浏览器进行访问。
访问地址:http://ECS公网IP:8000(ECS公网IP即之前步骤里创建的ECS的公网IP,可在控制台进行查询)
出现如下界面,表示部署成功。

image-20221122210035974.png

如果不能访问,记得去检查一下安全组是否添加了对应的规则:

image-20221122203142878.png


选择简体中文->继续
设置站点标题、用户名、密码及电子邮件后,点击安装WordPress

image-20221122210430506.png

若WordPress安装完成,会如下图所示:
image-20221122210512715.png


登录网站管理后台

点击登录,填入安装过程中所设置的用户名及密码,登录博客网站后就可以开始建设和运营了。
登录网站,可在页面见到网站仪表盘

image-20221122210633102.png


访问网站

设置->常规页面查看站点地址(URL),即可知道如何访问通过WordPress搭建的博客网站。

image-20221122210814717.png


输入URL进行测试访问:

image-20221122210908225.png

至此,已完成整个项目的部署。


完善部署模板

回想部署的整个过程,遇到的错误是由于没配置镜像加速器导致,因此,可以完善参考文档中没有提及的设置。

在原有模板文件中添加新的shell命令,把镜像加速器的配置和重启服务的命令添加到其中:

image-20221122212058177.png

完善模板后再次执行任务,会看到任务很快就部署完毕。

image-20221122212013932.png

可能有小伙伴会问,为什么这次执行这么快,因为这是 Ansible幂等性的特征,从平台部署的日志输出中,可知道平台运用了JenkinsAnsible来进行发布部署。感兴趣的小伙伴可查阅相关文档进行学习。


资源释放

本次实验用到的DevCloud用户数小于等于5是不计费的,ECS是按需计费,如果不再使用,避免持续计费,需要进行资源释放操作。(此操作步骤是按需计费的小伙伴才需要进行操作,避免产生不必要的费用。)
回到ECS列表页,按下图进行ECS资源释放。

image-20221120232318846.png

image-20221120232359700.png

删除资源需要使用注册的邮箱/手机等方式进行身份验证,按引导操作即可。


使用总结

此次整个项目的部署过程,按着参考文档来进行,但期间还是出现了错误,导致项目执行失败。当出现错误的时候,项目的排错就涉及很多知识点了,没一定的技术功底或者一定的工作经验,是很难排错的。

尤其对于一些初学者,去直接测试这个是不太合适的,除非,有各种参考文档可供参考。这也是金鱼哥去测试使用并写下这篇文章的原因之一,希望金鱼哥的分享能帮助到大家。

从这项目的部署使用中,发现了平台使用了Jenkins,Ansible,Docker,Docker-compose等技术,当然,操作系统基础是必须的,因为服务是要部署到ECS中,如果有相关问题,就需要去到系统中进行各种排查。因此,还需要巩固基础技能。

不知道大家对此云服务有何感想,心动不如行动,动动手去体验一下更直观,更能体验到华为云用心打造的产品。


【购物节已开启,个人开发者的专属集市AppBazaar来啦(所有商品购物节期间免费体验)】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/381337
此外,在(https://bbs.huaweicloud.com/activity/suggestion.html)提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。

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

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

相关文章

【Kubernetes】【十五】Service详解 Service介绍 类型 使用

第七章 Service详解 本章节主要介绍kubernetes的流量负载组件:Service和Ingress。 Service介绍 ​ 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着…

数据库必知必会:TiDB(11)TiDB集群安装

数据库必知必会:TiDB(11)TiDB集群安装TiDB集群安装单机环境上安装集群下载并安装TiUP工具安装TiUP cluster组件创建拓扑文件配置SSH免密登录检查安装要求创建安装目录部署集群启动集群验证集群启动使用命令验证通过Dashboard查看通过Grafana查…

2023年1月冰箱品牌销量排行:销量环比增长26%,销售额36亿+

鲸参谋电商大数据2023年1月京东平台“冰箱”销售数据出炉! 根据鲸参谋平台电商数据显示,2023年1月份,在京东平台上,冰箱的销量将近130万件,环比增长26%,同比下滑8%;销售额达36亿,环比…

嵌入式开发:C++在深度嵌入式系统中的应用

深度嵌入式系统通常在C语言中实现。为什么会这样?这样的系统是否也能从C中获益?嵌入式开发人员在将广泛、高效的深度嵌入式代码库从C转换为C方面的实践经验的贡献。嵌入式和深度嵌入式系统通常用C而不是C实现。软件开发人员必须放弃C作为强类型系统、模板元编程(TMP)和面向对…

dubbo整合nacos进行远程调用

doubbo是什么? Apache Dubbo 最初在 2008 年由 Alibaba 捐献开源,很快成为了国内开源服务框架选型的事实标准框架 ,得到了各行各业的广泛应用。在 2017 年,Dubbo 正式捐献到 Apache 软件基金会并成为 Apache 顶级项目&#xff0c…

DJI 无人机 Onboard SDK ROS 功能包demo运行

DJI 无人机 Onboard SDK ROS 功能包demo运行demo功能准备测试环境运行 dji sdk 节点运行 demo 节点自动飞行任务航点自动飞行兴趣点环绕自动飞行飞行控制本地坐标位置控制搭建好 Onboard SDK ROS 的开发环境后,功能包自身具备一些写好的demo功能案例 dji sdk 的节点…

华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】

使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12201821.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 猴子爬山 | 华为OD机…

特征工程-定义+意义+安装scikit-learn+数据的特征抽取(字典、文本)

目录 数据中对特征的处理 特征工程定义 特征工程意义 安装scikit-learn 数据的特征抽取 字典特征抽取 DictVectorizer语法 文本特征抽取 CountVectorizer语法 TfidfVectorizer语法 数据中对特征的处理 pandas:一个数据读取非常方便以及基础的处理格式的工具 sklear…

Spring Boot + Vue3 前后端分离 实战 wiki 知识库系统<一>---Spring Boot项目搭建

前言: 接下来又得被迫开启新的一门课程的学习了,上半年末尾淘汰又即将拉开序幕【已经记不清经历过多少次考试了】,需要去学习其它领域的技术作为考试内容,我选了spring boot相关技术,所以。。总之作为男人&#xff0c…

Linux之网络流量监控工具ntopng YUM安装

一、ntopng简介 Ntop是一种监控网络流量工具,用ntop显示网络的使用情况比其他一些网络管理软件更加直观、详细。Ntop甚至可以列出每个节点计算机的网络带宽利用率。他是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具;尤其当ntop与n…

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建

【Spring Cloud Alibaba】003-Nacos 概述与单机搭建 文章目录【Spring Cloud Alibaba】003-Nacos 概述与单机搭建一、Nacos 概述0、新技术学习思路推荐1、什么是 Nacos2、架构图架构图架构图信息二、Nacos 单机搭建1、下载与启动下载地址编辑 startup.cmd 文件下面对两种模式的…

“王炸”产品+集资2000万美元,D-Wave在赌什么?

(图片来源:网络)D-Wave是量子计算系统、软件和服务的领导者,也是全球量子计算机商业供应商。近日,它发布了一系列的最新产品和业务,展示出其在推动量子计算商业化方面的强劲势头。随着全球越来越多的企业将…

C++入门:内联函数、auto关键字、基于范围for循环及指针空值nullptr

目录 一. 内联函数 1.1 内联函数的概念 1.2 内联函数的特性 1.3 内联函数和宏的优缺点对比 二. auto关键字(C11) 2.1 auto的功能 2.2 auto在使用时的注意事项 三. 基于范围的for循环(C11) 四. 指针空值nullptr&#xff08…

开发日记-lombok

开发日记-lombok环境问题解决方案:1 Data注解失效 无法正常生成 get和set方法2 RequiredArgsConstructor(onConstructor _(Lazy)) 符号_无法识别环境 idea2020.1lombok1.18.24jdk1.8 问题 Data注解失效 无法正常生成 get和set方法RequiredArgsConstructor(onCons…

机器学习:学习k-近邻(KNN)模型建立、使用和评价

机器学习:学习k-近邻(KNN)模型建立、使用和评价 文章目录机器学习:学习k-近邻(KNN)模型建立、使用和评价一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.数据读取2.数据理解3.数据准备4.算…

Talk预告 | 悉尼科技大学澳大利亚人工智能研究所讲师方震:广义分布外检测的学习理论

本期为TechBeat人工智能社区第476期线上Talk! 北京时间2月22日(周三)20:00,悉尼科技大学澳大利亚人工智能研究所讲师——方震的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “广义分布外检测的学习理论”,届时将…

信息加密技术

介绍信息加密 信息加密是实现数据保密性的手段。 信息加密(Encryption)是将明文信息转换为密文信息,使之在缺少特殊信息时不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。 现…

Vue — 详解mixins混入使用

前言 当我们的项目越来越大,我们会发现组件之间可能存在很多相似的功能,你在一遍又一遍的复制粘贴相同的代码段(data,method,watch、mounted等),如果我们在每个组件中去重复定义这些属性和方法会…

看了这份Java高级笔试宝典覆盖近3年Java笔试中98%高频知识点,反打面试官

首先声明: 本书覆盖了近3年程序员面试笔试中超过98%Java高频知识点,当你细细品读完本书后,面试都是小问题。 一书在手/工作不愁 记住重点,考试要考 前言 程序员求职始终是当前社会的一个热点,而市面上有很多关于程…

ROS | 键盘控制

文章目录 概述一、定义介绍二、功能作用三、使用方法四、实例演示概述 在研发机器人/自动驾驶时,可能没有遥控器,又或者是仿真环境等情况,常常需要通过键盘控制小车。 一、定义介绍 本节详细讲述了如何通过键盘来控制ROS小车,附有全套源码。 二、功能作用 本程序通过向RO…