【愚公系列】华为云系列之DevCloud+ECS+MySQL搭建超级冷笑话网站【开发者专属集市】

news2024/11/28 23:56:01

文章目录

  • 前言
    • 1.项目背景
    • 2.项目介绍
    • 3.所需华为云环境
  • 一、华为云系列之DevCloud+ECS+MySQL搭建超级冷笑话网站
    • 1.创建项目
    • 2.创建代码仓库
    • 3.创建数据库
    • 4.修改代码
    • 5.编译构建
    • 6.部署
    • 7.环境准备
    • 8.导入主机
    • 9.部署应用
    • 10.应用访问
    • 11.资源释放
      • 11.1 释放 ECS 资源
      • 11.2 释放 RDS 资源
  • 总结


前言

1.项目背景

冷笑话,是指笑话本身因为无聊、谐音字、翻译、或省去主语、不同逻辑、断语或特殊内容等问题,或由于表演者语气或表情等原因,导致一个笑话不能达到好笑的目的,较难引人发笑而成冷场,不过并不代表笑话本身沉闷,这也是幽默的一种表现。而现在听到冷笑话大多会会心微笑,有时作出双臂抱紧的动作表示:“好冷啊!”或与冷语意相关的说话与表现,如打冷颤、温度、空调或炎热天气等等。------百度百科

冷笑话是一种新兴的语言现象,伴随着网络的普及它已经渗透到了青年群体的日常生活,偶尔爆出的一两句冷笑话能使交流氛围变得轻松愉悦,也能展示交谈者的幽默和智慧。

冷笑话是笑话的一种,但是又有很大的不同,冷笑话的四个主要特点:以网络为载体、彻底的娱乐性、自身价值的两重性、后现代结构主义。

从体裁的角度将冷笑话分为故事型、问题型、对话型、条列型;从构成方式将冷笑话分为“借用修辞规律”、“打破时空界限”、“混淆概念”、“语种跨越”、“违反逻辑”、“狡辩”、“口误”。

本文介绍的项目主要是基于C#开源项目,为从事C#项目研发的企业或个人提供开发上云指导,通过开源项目超级冷笑话的搭建,为C#开发者提供覆盖软件开发全生命周期的云上开发操作指导。

本文主要是基于华为云搭建超级冷笑话网站相关步骤演示:

  1. 创建项目
  2. 创建代码仓库
  3. 创建数据库
  4. 修改代码
  5. 编译构建
  6. 部署
  7. 环境准备
  8. 导入主机
  9. 部署应用
  10. 应用访问
  11. 资源释放

2.项目介绍

  • 项目名称:超级冷笑话

  • 项目简介:一个用C#语言开发的Web网站,包含用户登录注册以及浏览笑话等功能。

  • 网站作者:https://github.com/binlyzhuo
    在这里插入图片描述

  • 开源地址:https://github.com/binlyzhuo/superjokes
    在这里插入图片描述

  • 开源证书:Apache-2.0 License

  • 开发语言:JavaScript(61.2%)、C#(28.5%)、CSS(6.7%)、HTML(2.3%)

  • 部署环境:Windows Server 2012、IIS、MySQL 5.7.33

  • 部署方式:PowerShell 部署

  • 项目架构:典型的B/S架构系统,用户通过互联网访问系统,客户端处理用户操作及向数据库读取或写入数据。
    在这里插入图片描述

3.所需华为云环境

涉及华为云服务:软件开发平台DevCloud、弹性云服务器ECS、云数据库RDS

  • 软件开发平台DevCloud:DevCloud是集华为研发实践、前沿研发理念、先进研发工具为一体的研发云平台,面向开发者提供研发工具服务,让软件开发简单高效。
  • 弹性云服务器ECS:弹性云服务器(Elastic Cloud Server, ECS)是一种云上可随时自助获取、可弹性伸缩的计算服务,可帮助您打造安全、可靠、灵活、高效的应用环境。
  • 云数据库RDS:云数据库RDS(Relational Database Service,关系型数据库云服务),通过云服务的方式让关系型数据库设置、操作和扩展变得更加简单。RDS的低成本、高效率、灵活性帮助企业解决费时、费力的数据库管理,使企业有更多的时间聚焦到应用和业务层面上来,节约用户的硬件成本和维护成本。目前支持MySQL关系型数据库,与现有商用MySQL完全兼容。RDS可以作为各行业中小企业关系型数据库应用、电子商务网站、社区网站、手机APP以及游戏类应用等。

一、华为云系列之DevCloud+ECS+MySQL搭建超级冷笑话网站

1.创建项目

1、登录华为云后,按产品-开发与运维-软件开发平台DevCloud路径,进入华为云DevCloud平台首页
在这里插入图片描述

2、进入页面后选择免费试用
直接进入相关网址:https://www.huaweicloud.com/devcloud/
在这里插入图片描述

3、选择同意协议后会跳到如下页面

在这里插入图片描述
4、继续择基础版本进行购买

在这里插入图片描述
5、购买成功后会直接进入控制台

在这里插入图片描述
6、依次点击项目管理-立即使用-新建项目-选择空白项目scrum

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

7、在新建项目页,按如下参数配置项目

  • 项目流程:Scrum
  • 项目名称:自定义(如:超级冷笑话网站)
  • 点击确定按钮完成项目创建

在这里插入图片描述
8、至此项目就创建完成了
在这里插入图片描述

2.创建代码仓库

1、创建项目完成后会自动跳转进入项目,按照代码-代码托管-导入外部仓库的路径创建代码仓库,如下图所示:
在这里插入图片描述

2、在导入外部仓库页,按如下填写外部仓库信息:

  1. 源仓库地址:
    https://codehub.devcloud.huaweicloud.com/3c4b26c6e8fc4761817f90cc43f42d31/superjokes.git

  2. 源仓库访问权限:不需要用户名/密码

  3. 勾选我已阅读并同意《隐私政策声明》和《软件开发服务使用声明》

  4. 点击下一步按钮

在这里插入图片描述
3、仓库名称会默认带入源仓库名称,也可用户自定义,其他配置默认,点击确定按钮完成仓库创建
在这里插入图片描述
在这里插入图片描述

3.创建数据库

1、本项目需要MySQL数据库存放网站内展示的冷笑话数据

云数据库MySQL网址:https://www.huaweicloud.com/product/mysql.html
在这里插入图片描述
2、按如下配置选择MySQL数据库

  • 计费模式:按需计费
  • 区域:华北-北京四(与 DevCloud 项目所在区域保持一致)
  • 实例名称:默认(可以自定义)
  • 数据库引擎:MySQL
  • 数据库版本:5.7
  • 实例类型:单机
  • 存储类型:SSD 云盘
  • 可用区:默认(可用区一)
  • 性能规格:通用型 2vCPUs|4GB
  • 存储空间:默认(40GB)
  • 磁盘加密:不加密
  • 虚拟私有云:default-vpc/default-subnet
  • 数据库端口:3306
  • 安全组:Sys-WebServer
  • 设置密码:现在设置
  • 管理员密码:自定义(请牢记此密码)
  • 参数模板:默认(Default-MySQL-5.7)
  • 购买数量:1

在这里插入图片描述
3、返回云数据库RDS列表
在这里插入图片描述
4、待数据库创建完成,运行状态为正常后,点击更多-登录
在这里插入图片描述

5、在实例登录页面,输入数据库密码(购买时设置的密码),可以先点击测试连接按钮,连接成功后点击登录按钮

在这里插入图片描述
6、登录进入实例,点击上方操作菜单的SQL 操作-SQL 查询

在这里插入图片描述
7、返回到DevCloud之前创建超级冷笑话网站项目的代码托管,进入代码仓库,superjokes.sql是数据库配置脚本,复制文件的内容。

在这里插入图片描述
8、将复制的内容粘贴到SQL查询页面,并点击执行 SQL按钮。

在这里插入图片描述
9、待SQL脚本执行完成,点击按钮,可以看到数据库joke及其数据库表已经创建成功。
在这里插入图片描述

4.修改代码

1、返回DevCloud代码托管服务,点击代码仓库名称,进入代码详情页,进入src/Joke.Web/App_Data/找到 appsettings.config 文件,点击右上角 图标,进行编辑

在这里插入图片描述
2、按下图修改第33行代码

在这里插入图片描述
3、修改完如下图,点击确定按钮完成修改
在这里插入图片描述

5.编译构建

1、按照路径构建&制品-编译构建进入编译构建服务,点击新建任务按钮

在这里插入图片描述

2、在选择源代码页,全部默认(选择的是上一步骤在CodeHub上创建的superjokes代码仓库maser分支,实际开发中可以根据实际情况自定义选择),点击下一步按钮。
在这里插入图片描述
3、在选择构建模板页,选择空白构建模板,点击确定按钮,完成构建任务的创建。
在这里插入图片描述

4、界面会自动跳转到构建步骤页面,选择Msbuild 构建(可通过搜索栏进行搜索查找)点击添加按钮。
在这里插入图片描述
5、可以看到上一步选择的步骤已添加到左侧,在右侧继续选择上传软件包到软件发布库,点击添加按钮

在这里插入图片描述
6、选中左侧Msbuild 构建步骤,

  • 工具版本:msbuild15-all-dotnetcore2.1
  • powershell 命令:
cd src
nuget
nuget restore && msbuild /p:OutputPath=../buildResult/Release/bin
powershell -Command Compress-Archive -
Path ./buildResult/Release/bin/_PublishedWebsites/Joke.Web/* -DestinationPath ./archive.zip

在这里插入图片描述

7、选中左侧的上传软件包到发布仓库步骤,如下图在右侧步骤详情里按如下进行配置

  • 构建包路径:src/archive.zip
  • 发布版本号:1.0.0
  • 包名:superjokes

点击“新建并执行”按钮,执行构建任务。

在这里插入图片描述
8、界面跳转到任务执行界面,左侧可以看到执行步骤进度,右侧打印构建日志

在这里插入图片描述

6.部署

1、应用需要部署到服务器上,所以首先需要购买一台 ECS,再将应用部署上去。

按照更多-设置-通用设置,进入通用设置页面。

在这里插入图片描述
2、选择主机组管理,点击新建主机组按钮
在这里插入图片描述
3、输入主机组名称(如:superjokes-ecs-group),操作系统选择Windows,点击保存按钮完成主机组创建

在这里插入图片描述
4、自动跳转到主机信息页面,点击导入ECS按钮。
在这里插入图片描述
5、由于还未创建ECS,点击ECS控制台按钮,进入ECS控制台。
在这里插入图片描述
6、点击购买弹性云服务器按钮。
在这里插入图片描述
7、在基础配置步骤,按如下配置

  • 计费模式:按需计费

  • 区域:华北-北京四(与 DevCloud 项目所在区域保持一致)

  • 可用区:随机分配
    在这里插入图片描述

  • CPU 架构:x86 计算

  • 规格:c7.large.2 2vCPU|4GB (本实验所需资源较少,实际项目根据实际情况选择)
    在这里插入图片描述

  • 镜像:市场镜像 Windows Server 2012 R2 标准版 64 位简体中文(40GB)

  • 系统盘:高 IO 40GB
    在这里插入图片描述

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

  • 网络配置页按如下配置参数
  • 网络:vpc-default/subnet-default(与数据库使用同一个 vpc)
  • 安全组:Sys-WebServer(与数据库使用同一个安全组)
  • 弹性公网 IP:现在购买
  • 线路:全动态 BGP
  • 公网带宽:按带宽计费
  • 带宽大小:5
  • 点击“下一步:高级配置”按钮

在这里插入图片描述

在这里插入图片描述
9、在高级配置页,按如下进行配置

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

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

在 ECS 列表页,可以看到创建的 ECS
在这里插入图片描述

7.环境准备

1、本次实验网站部署需要将主机环境进行初始化配置,按下图先登录主机

在这里插入图片描述
2、进入ecs远程登录界面,点击Ctrl+Alt+Del按钮
在这里插入图片描述
3、输入购买主机时设置的密码进行登录
在这里插入图片描述
4、登录后按官方文档进行主机连通性配置:https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_1101.html
在这里插入图片描述
配置后出现 HTTPS 且 Hostname 不为空,才表示配置成功
在这里插入图片描述

5、打开主机的“控制面板”-“程序和功能”-“启用或关闭 Windows 功能”
在这里插入图片描述
如下图,按照向导点击“下一步”,在第 4 步,“Web 服务器”-“应用程序开发”中勾选“.Net Extensibility 3.5”、“.Net Extensibility 4.5”、“ASP.NET 3.5”、“ASP.NET 4.5”,最后点击“安装”按钮。

在这里插入图片描述
待安装完毕点击“关闭”按钮,关闭向导。
在这里插入图片描述
至此完成了主机的环境配置。

8.导入主机

1、返回DevCloud页面,将创建的ECS导入(如果没有刷新,先将页面关闭,再打开即可)
在这里插入图片描述
2、在导入ECS页面,按如下参数进行配置

  • 用户名:Administrator
  • 密码:购买 ECS 时设置的密码
  • 端口:5986
  • 勾选声明,点击“添加”按钮

在这里插入图片描述

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

在这里插入图片描述

9.部署应用

1、按照路径构建&部署-部署路径进入部署服务,点击新建任务按钮

在这里插入图片描述
2、部署模板选择空白模板,点击下一步按钮

在这里插入图片描述
3、在部署步骤页面,以此从右侧向左侧添加选择部署来源解压文件删除文件执行 PowerShell脚本执行 PowerShell 命令步骤(可以通过搜索栏进行查找)

在这里插入图片描述
4、按如下进行配置选择部署来源步骤详情

  • 选择源类型:构建任务
  • 构建任务:选择之前创建的构建任务
  • 主机组:选择之前创建的主机组
  • 下载到主机的部署目录:C:/iis_deploy

在这里插入图片描述
5、按如下进行解压文件步骤详情配置

  • 主机组:选择之前创建的主机组
  • 解压文件路径:C:/iis_deploy/superjokes.zip
  • 解压目录:C:/iis_deploy/superjokes

在这里插入图片描述
6、按如下进行删除文件步骤详情配置

  • 主机组:选择之前创建的主机组
  • 删除路径:C:/iis_deploy/superjokes.zip

在这里插入图片描述
7、按如下进行执行 PowerShell 脚本步骤详情配置

  • 主机组:选择之前创建的主机组
  • PowerShell 脚本路径:C:/iis_deploy/superjokes/web.ps1
  • 脚本执行参数:8080 Superjokes Integrated v4.0 C:\iis_deploy\superjokes C:/LogFiles

在这里插入图片描述
8、按如下进行执行 PowerShell 命令步骤详情配置

  • PowerShell 命令:iisreset

在这里插入图片描述
9、点击保存并执行按钮,界面会自动跳转到部署任务执行界面,左侧显示部署步骤执行进度,右侧打印部署日志。

出现如下图,表示部署任务执行成功

在这里插入图片描述

10.应用访问

1、应用部署任务执行成功后,就可以在浏览器进行访问了。访问地址:http://ECS 公网 IP:8080(ECS 公网 IP 即之前步骤里创建的 ECS 的公网 IP)

出现如下界面,表示部署成功

在这里插入图片描述

11.资源释放

本次实验用到的DevCloud用户数小于等于5是不计费的,ECS是按需计费,如果不再使用,避免持续计
费,需要进行资源释放操作。

11.1 释放 ECS 资源

回到ecs列表页,按下图进行ecs资源释放

在这里插入图片描述
在这里插入图片描述
删除资源需要使用注册的邮箱/手机等方式进行身份验证,按引导操作即可

11.2 释放 RDS 资源

回到ecs列表页,按下图进行ecs资源释放

在这里插入图片描述

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

总结

本文主要介绍的是使用华为云DevCloud+ECS+MySQL搭建超级冷笑话网站。

本网站主要针对.NET开发人员,早期.NET相关网站都是基于Windows部署的,着重讲解了云数据库的使用和ECS服务器环境的搭建和部署,最后使用DevCloud进行一站式部署。

通过以下步骤实现了华为云对.NET相关应用部署:创建项目、创建代码仓库、创建数据库、修改代码、编译构建、部署、环境准备、导入主机、部署应用、应用访问、资源释放。

相信通过以上实操能够为.NET相关开发者提供覆盖软件开发全生命周期的云上开发操作指导。


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

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

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

相关文章

[附源码]Python计算机毕业设计Django的校园报修平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

大于10M图片如何查看?

大于10M的图片,如果Windows无法查看,只需要压缩到10M以内就行。 我们先下载一个工具,帮助我们批量压缩图片。 Faststone image viewer 查看器,下载地址: https://www.faststone.org/ 假如我们有一张大于10M的图片&a…

计算机病毒

文章目录计算机病毒计算机病毒的类型计算机感染病毒的表现计算机病毒 计算机病毒指的是干扰计算机正常运行的软件或者代码片段。 计算机病毒的传播途径有很多,例如隐藏在传输的文件或者数据中,或者借助一些不安全的网络等等。病毒一旦进入您的计算机系…

【NDVI:注意力机制:遥感图像】

NDVI-Net: A fusion network for generating high-resolution normalized difference vegetation index in remote sensing (NDVI-Net:一种生成高分辨率归一化植被指数的遥感融合网络) 归一化植被指数(Normalized Difference Ve…

Matlab最小二乘平面拟合(SVD方法)—点云处理及可视化第3期

在之前的文章中,分享了Matlab基于PCA的平面拟合方法: 这一次,再来分享一下基于奇异值分解(Singular Value Decomposition, SVD)的平面拟合。 先来看一下成品效果: 特别提示:《Matlab点云处理及…

融合多策略的萤火虫算法求解多目标优化问题(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

数字化门店| 美甲美睫店管理系统| 小程序教程

随着悦己消费升级,女性对于自身外观上的消费支出增加,近几年疫情之下,人们出门常戴口罩,对于爱美的女孩,打扮的漂漂亮亮却被口罩遮挡了容颜,都说眼睛与手可以看出一个人的心灵与美,因此美甲美睫…

new Promise(function(resolve, reject){}) 的reject相当于抛异常

通过reject传异常&#xff1a; <html><body><script>const promise new Promise(function(resolve, reject) {if (Math.random() > 0.5){resolve("value");} else {reject(new Error("throw error"));//throw new Error("thro…

分层架构理论基础

一、三层架构 1、什么是三层架构 三层架构&#xff08;3-tier architecture&#xff09;通常意义上的三层架构就是将整个业务应用划分为&#xff1a;表示层&#xff08;User Interface layer&#xff09;、业务逻辑层&#xff08;Business Logic Layer&#xff09;、数据访问层…

容器运行时与k8s概述

容器运行时与k8s概述 首先我们要明确一个知识点就是容器本质上就是一个进程&#xff0c;一个特殊的进程&#xff0c;是通过 Namespace 实现资源&#xff08;网络、文件系统等&#xff09;隔离&#xff0c;通过 Cgroups 实现资源&#xff08;CPU、内存&#xff09;限制&#xff…

Kernel怎么跳转到Android:linux与安卓的交界

上一篇写了Uboot怎么到Linux kernel&#xff0c;这一章来看看linux kernel怎么到Android的。 虽然是零零碎碎的学习了一些关于Linux的知识&#xff0c;但是对于这个部分基本上没有站在系统的角度去看过。 1、前言 kernel的启动主要分为两个阶段。 1、阶段一 从入口跳转到s…

Python | 24K纯新手的Python环境搭建之路!~(Anaconda + Jupyter)

1写在前面 最近在搞Machine Learning&#xff0c;R中的包实在是不太给力&#xff0c;这方面还是要看Python的。&#x1f602; 这里和大家分享一下我的Python环境搭建之路&#xff0c;图文介绍非常详细&#xff0c;希望帮助到大家。&#x1f618; 由于我的电脑是M1 芯片的Macboo…

【Java】springboot 枚举参数

1/&#x1f4a4;背景 很多大厂都要求了代码里面避免魔法值&#xff0c;如阿里巴巴开发规范 阿里巴巴Java开发手册1.4.0 &#xff0c;那么使用枚举就是比较好避免的一个办法&#xff0c;比如 性别 0-未知 1-男 2-女 【强制】不允许任何魔法值&#xff08;即未经预先定义的常量&…

显卡、显卡驱动版本、cuda版本和Pytorch相互之间的依赖关系

问题 话不多说&#xff0c;本文主要就是探讨如何根据显卡和显卡驱动版本去选择相应的CUDA和Pytorch。 显卡 显卡驱动版本 打开cmd命令提示符&#xff0c;输入nvidia-smi然后按回车键&#xff1a; 需要关注两个地方&#xff1a; 显卡驱动版本&#xff1a;516.59显卡支持最高…

Zebec节点Zepoch销量接近800个,生态发展信心十足

Zebec Protocol目前已经获得了两轮历史融资额近4000万美元的融资&#xff0c;其投资者包括Coinbase、Distributed Global、OKX Blockdream Ventures 、Circle Venture等20多家全球一线投资机构&#xff0c;而在获得融资后Zebec Protocol也开始全力打造多链生态&#xff0c;以进…

第十章:聊聊ThreadLocal

是什么&#xff1f;能干嘛&#xff1f;常用API案例一以上代码存在的问题&#xff1f;演示线程池复用本地变量的情况ThreadLocal源码Thread&#xff0c;ThreadLocal&#xff0c;ThreadLocalMap 三者的关系&#xff1f;ThreadLocal 的 get 方法set、remove 方法总结ThreadLocal 之…

Java自动化测试调试中遇到的问题

前言:记录下遇到的问题 Java自动化测试在调试中遇到的问题总结 1、遇到的Waring:must be unique [WARNING] dependencies.dependency.(groupId:artifactId:type:classifier) must be unique: com.vertica.jdbc:vertica-jdbc:jar -> duplicate declaration of version 10.…

python的安装及常用语法(一)

python的安装及简单使用python解释器的安装1. windows系统安装方法2. 测试安装是否成功PyCharm代码编辑器的安装python的基础语法1. “input”用法&#xff1a;用户输入信息2. “bin”用法&#xff1a;将十进制转换为二进制3. “print”用法&#xff1a;输出信息4. 练习1. 张三…

modbus协议讲解,上位机与PLC交互

开发过程中modbus-RTU需要电脑USB口对外交互&#xff0c;参考我的文章&#xff1a;C# 通过Com端口和单片机通讯&#xff08;232/485/USB&#xff09;_花开莫与流年错_的博客-CSDN博客_c#与单片机通信 上位机和PLC交互的消息在Excel中配置&#xff0c;配置后通过Modbus协议加载…

数据结构之-队列实现

队列是一个先进先出的结构&#xff0c;可以用链表呀&#xff0c;数组来实现它&#xff0c;我们今天用数组实现个队列&#xff0c;以优先级队列方式&#xff0c;我们看看怎么实现&#xff0c;优先级队列以队列存储时规则会将即将过期的或较小的数据存储在前面&#xff0c;这样取…