开发一个社区网站,只要 20 分钟?
摘要:20 分钟开发一个社区网站,不信?那就试一试
本文分享自华为云社区《开发一个社区网站,只要20分钟?小白也能轻松掌握云上敏捷开发》,作者:敏捷小智 。
作为一名 C 语言出身的老程序员,为了跟上技术发展的脚步,最近一直在苦学各种新技术。语言的学习绕不过理论+实践这两项,除了学习理论知识之外,自己还在网上找到了一些开源项目学习研究,在理解原有框架基础上,自己同时尝试做了一些修改和完善。语言都是相通的,学起来没那么吃力,感觉还不错。
但是在这过程中遇到了一个大难题,就是环境的问题。不同的语言、架构都有自己的 IDE 和环境要求,开始在电脑上装了几个虚拟机之后,发现长此以往不是办法,我也不能一台主机通吃天下一台主机明显不够用,也更不能将家里搞成个小型机房。几番考察思量之后,我把目光投向了现在爆火的云上开发平台。
经过多方对比,选择了华为云的 DevCloud 平台,主要原因是华为云产品种类全,存储、容器、数据库、网络等资源都有,我的的这些需求可以一站搞定;其次就是价格低,软件开发平台 DevCloud 它有个基础版套餐,5 人以下免费,存储、数据库、网络此类的等资源可以选择按需使用,一般选择最低的配置就能满足学习的需要,都是每小时几毛钱的计费几毛钱就够用了,非常友好。
最近学习的这几个开源项目,主要用到了 DevCloud 的项目管理、代码托管、编译构建、部署功能,用到了弹性云服务器 ECS、云数据库 RDS、容器镜像服务 SWR 这几个产品,下面就按照使用的产品组合分享下我的开源项目上云过程。
如果你同样对研发项目上云过程感兴趣,可以参加一行代码秒上云应用开发实训营,免费领取云资源,体验 Java,Node.js,C#真实应用上云开发案例。
DevCloud+弹性云服务器 ECS
有三个项目用到了 DevCloud+ECS 组合的形式:workerman-todpole 社区系统(PHP)、 “小幺鸡”在线文档管理平台(java)和 NodeClub 社区系统(node.js)。它们都是将代码导入后,进行编译构建,然后将软件包部署到服务器上就可以使用了,这是最简单的情况。
编译构建
其中 workerman-todpole 社区系统的构建工具是 php7.3.3,“小幺鸡”在线文档管理平台的构建工具是 maven3.5.3-jdk8-open,NodeClub 社区系统的构建工具 Shell 命令,这些在编译构建服务中都能覆盖,除此之外还有其他的模板和空白模板可以选择。
选择空白模板可以自行选择合适的步骤完成构建。
部署应用
三个项目的部署也各不相同,有的是通过 Shell 命令部署,有的是 Tomcat 部署,主机环境也有 CentOS 7.6 和 Ubuntu16.04 之分,这些在华为云的部署服务和 ECS 产品都能够支持和实现。在部署时候也有推荐模板和空白模板两种。
当选择了空白模板之后,可以选择适当的步骤进行添加。
购买 ECS
实验中用到的付费资源就是弹性云服务器 ECS,下面是我在实验中用到的两台主机,在不用的时候删除或者关机就会停止计费。有些主机当时用完就释放了。
具体的计费可以看一下,Ubuntu16.04 的计费如下,0.6018/小时。
另外一个 Windows server2012 R2 是下面的一个 C#语言开发的 Web 网站用到的云服务器,资费是 0.4046/小时+镜像费用 0.001/小时。
应用访问
部署完成后就可以通过约定的方式访问应用程序。如 http://ECS 公网 IP:端口号或者 http://ECS 公网 IP:8080/xiaoyaoji-2.1.5 的形式,其中 ECS 公网 IP 即之前步骤里创建的 ECS 的公网 IP,下图为“小幺鸡”在线文档管理平台的访问界面。
部署到公网上还有一个好处是可以共享给其他人看,和别人分享自己的学习成果,这也是一个给自己赋能的方式。
DevCloud+ECS+云数据库 RDS
在上面三个应用完成之后,继续研究了需要使用数据库的开源项目,选定了超级冷笑话,他是一个用 C#语言开发的 Web 网站,包含用户登录注册以及浏览笑话等功能。其中需要用到 MySQL 5.7.33 数据库。
部署带有数据库应用的时候,和前面的程序步骤不太一样。首先,在导入代码仓之后要购买云数据库;然后,将代码仓库的数据库配置脚本复制到数据库中,待 SQL 脚本执行完,创建数据库及其数据库表;接着,要到源代码中修改配置文件中的数据库地址,同时将数据库的用户名和密码修改为刚刚创建的云数据库的对应信息。剩下的步骤就和前面的应用部署过程基本相同,构建代码,购买 ECS,部署应用,访问应用。
购买 RDS
云数据库 RDS 的收费情况如下,基本配置 0.40/小时。
DevCloud+ECS+、SWR、RDS+容器镜像服务 SWR、OBS
继上面的应用程序完成之后,又尝试了一个需要容器服务的开源项目,是一个论坛,由 Java+MySQL+HTML5 的 B/S 架构的 web 项目技术开发,可以实现文章的在线预览以及后台运维工作。和前面不太一样的地方是,在构建和部署的时候要选择 Docker 工具和 Docker 应用部署。
构建
制作镜像并推送到 SWR 仓库步骤,会通过 Dockerfile 制作镜像文件并推送到 SWR 容器镜像服务里,用于后续的部署。此处将组织、镜像名字、镜像标签设置为正确的值(组织需要在 SWR 中自行创建,可通过点击组织后的“查看我的组织”按钮进入)。
部署
包括:“选择部署来源(含 Dockerfile 文件)”、“构建镜像”、“镜像打标签”、“镜像上传到镜像仓”四个步骤。
在这次应用部署过程中,SWR 是免费试用,收费的只有 ECS 和 RDS。
我在上述部署上云的实验过程中,真正的体验了一次“平台即服务”一站式代码上云的感觉。
在上文中,我只写了自己的个人体验和上云过程中的一些关键步骤,如果你对以上实验的完整上云过程感兴趣,可以来参加一行代码秒上云应用开发实训营,体验资源免费领,真场景真体验,云上应用开发轻松实现。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/9d1d8f1581b6b99df65b7afb2】。文章转载请联系作者。
评论