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

AppBazaar现有16个项目,含括了工作中常用的服务架构。我们可在这里选择自己感兴趣的项目或者想要了解的项目来进行玩耍,正如官方的宣言:一键部署,构建应用无负担。
那究竟要如何玩耍呢?
首先登录平台,如果没有华为云账号,得先注册账号,实名认证后再继续。
然后点选所需的项目进入购买页面。

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

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

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


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

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

接下来,就可以去尝试和体验了,心动不如行动!那就让金鱼哥来做先锋队。
项目名称: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


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

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

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

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


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

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


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

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

在控制台中点击立即使用。

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

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



在本地电脑中新建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文件有格式要求,注意配置项前面的空格和层级的对齐。
将文件上传至制品库中。


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

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

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

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

点击购买弹性云服务器按钮。

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


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

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


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

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

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

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


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

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

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

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

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

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

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



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

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

在第二个执行shell命令步骤,重命名为启动服务。
docker-compose -f /root/wordpress/docker-compose.wordpress.yml up -d

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

这次操作中,遗憾的是并没有像参考文档那样说的等待就可成功,而是在最后的一个任务遇到错误。
图片为第2次部署中的错误(中途手动停止),第1次部署时最后一个任务的时间起码超过20分钟而自动停止出现报错。


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

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

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

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

期间看到的报错信息已经很明显了,金鱼哥根据过往的工作经验,分析出肯定是由于去下载国外镜像源的网络原因造成。因此我们使用docker都需要配置镜像加速器。
可在控制台中检索容器镜像服务进入到对应的服务页面,然后选择镜像中心-镜像加速器,即可根据参考文档进行配置。

# 修改为对应的镜像加速器地址。
[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
使用命令测试镜像下载,可顺利下载对应的镜像。

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

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

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

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

若WordPress安装完成,会如下图所示:

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

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

输入URL进行测试访问:

至此,已完成整个项目的部署。
回想部署的整个过程,遇到的错误是由于没配置镜像加速器导致,因此,可以完善参考文档中没有提及的设置。
在原有模板文件中添加新的shell命令,把镜像加速器的配置和重启服务的命令添加到其中:

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

可能有小伙伴会问,为什么这次执行这么快,因为这是 Ansible幂等性的特征,从平台部署的日志输出中,可知道平台运用了Jenkins和Ansible来进行发布部署。感兴趣的小伙伴可查阅相关文档进行学习。
本次实验用到的DevCloud用户数小于等于5是不计费的,ECS是按需计费,如果不再使用,避免持续计费,需要进行资源释放操作。(此操作步骤是按需计费的小伙伴才需要进行操作,避免产生不必要的费用。)
回到ECS列表页,按下图进行ECS资源释放。


删除资源需要使用注册的邮箱/手机等方式进行身份验证,按引导操作即可。
此次整个项目的部署过程,按着参考文档来进行,但期间还是出现了错误,导致项目执行失败。当出现错误的时候,项目的排错就涉及很多知识点了,没一定的技术功底或者一定的工作经验,是很难排错的。
尤其对于一些初学者,去直接测试这个是不太合适的,除非,有各种参考文档可供参考。这也是金鱼哥去测试使用并写下这篇文章的原因之一,希望金鱼哥的分享能帮助到大家。
从这项目的部署使用中,发现了平台使用了Jenkins,Ansible,Docker,Docker-compose等技术,当然,操作系统基础是必须的,因为服务是要部署到ECS中,如果有相关问题,就需要去到系统中进行各种排查。因此,还需要巩固基础技能。
不知道大家对此云服务有何感想,心动不如行动,动动手去体验一下更直观,更能体验到华为云用心打造的产品。
【购物节已开启,个人开发者的专属集市AppBazaar来啦(所有商品购物节期间免费体验)】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/381337
此外,在(https://bbs.huaweicloud.com/activity/suggestion.html)提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co