如何用HCaaS快速建站?

搭网站一般需要前端、后端开发人员,运维部署人员一起协同,尤其是容器化建站的场景还需要是 K8S 运维人员参与。

HCaaS 提供了容器化建站的模板,可以让开发人员自己就能快速搭建。目前有 jar,python,二进制等模板,后续提供 php,war,nodejs 等模板。其中 jar 的模板中网站代码包同时包含前端和后端的代码,那么对于前后端分离的网站是否适用?

下面以公司官网为例去试着搭建,后端是 Java Spring Boot 框架,前端是 VUE 框架,数据库是 MySQL。前端通过后端暴露的服务来调用,后端通过 DB 的配置来连接 MySQL(容器化开发中默认使用 mysql-service:3306 来暴露数据库服务)。

后端服务可以通过 ip&port 或者域名的方式来暴露服务给前端。本例中预留 http://example-website2-github-clz.cubepaas.com 作后端服务的域名,然后据此打好前端的 dist 包。

Tips: 将前端 dist 压缩包和后端 jar 包存放在 OSS 上方便后面使用。然后就可以开始利用模板建站的功能来搭建 Web 了。

第一步:准备镜像仓库。

因为后台会默认制作网站的镜像,所以需要有镜像存放的仓库。

你可以选择已有镜像仓库,在左侧菜单的“资源”—“镜像库凭证”处添加镜像库凭证。当然 HCaaS 有现成的镜像仓库模块,可以在左侧菜单的“镜像仓库”处一键开启镜像仓库

第二步,选择模板类型,本例用 Jar 模板

第三步:制作“业务镜像”

选择镜像下拉菜单:制作镜像(再次部署就可以选择已有镜像)

构建环境:本例中使用 java8

镜像仓库凭证:第一步镜像仓库配置完成后下拉菜单中就可以选择对应的镜像库

设置好镜像名称和 tag:以自带镜像仓库为例,镜像名称前面跟着项目名

展开高级选项配置环境,配置数据库的表名、用户名、密码给后端使用

配置前端文件在容器中的路径及链接地址,并设定为 nginx Web 的访问地址,填入“/”作为访问的根路径;

提供后端 Jar 文件;

准备好启动脚本(核心就是 jar 启动命令),然后提供启动文件 app-trigger-file.sh

若是有更灵活的 nginx 配置(比如反向代理)可以在输入框里填写。然后填写启动脚本的路径。

接下来就可以开始制作镜像(若是镜像制作失败可重试,也可从菜单的“构建镜像”处查看日志)

第四步:配置数据库和访问入口

制作镜像的下一步里配置应用名称等基本信息,本例中选择安装 MySQL、并配置表名、用户名、密码(注意:要与上一步后端的配置保持一致),以及数据库部署的存储类型。

接下里配置 Web 服务的访问方式、及部署的域。

Tips:1.若存储类型选择“高效云盘”、“SSD”,则在域选择不能使用 IDC;2.若要配置 https,则需要预先在左侧菜单“资源”—“证书”处上传 SSL 证书

接下来点击“部署”,网站就开始启动了,直到应用为 running 状态。

测试连接,自己搭建的网站页面就可以打开了

但是点击提交表单时报错:

http://example-website2-github-clz.cubepaas.com/nbApplyInfo404 not found

原因是只暴露了前端的服务,未暴露后端服务,所以前端找不到后端

第五步:配置后端服务。

左侧菜单“访问入口”处配置规划好的域名指向后端的服务。同时也暴露 MySQL 服务用来建表

最后测试连接,页面提示表单提交成功,查看数据库发现了提交的那条数据。

欢迎访问cubepaas.com来体验 HCaaS~