先介绍下在本文出现的几个比较重要的概念:
函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。
Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。
litemall 是一个基于 Spring Boot、Vue、微信小程序等技术开发的商场系统。它包括 Spring Boot 后端 + Vue 管理员前端 + 微信小程序用户前端 + Vue 商城移动端。
本文演示如何将该商城应用的 Spring Boot 后端、Vue 管理员前端、Vue 商城移动端三个组件迁移到函数计算。
下面是一个已经将到函数计算应用示例效果演示。
打开 http://litemall.mofangdegisn.cn 显示登陆页面:
使用默认的账户即可登陆。完成后,会进入到后台管理页面:
可以在后台管理页面添加商品类目、上架商品、用户管理、系统管理等等。
使用手机打开网址 http://litemall.mofangdegisn.cn/vue/index.html ,可以打开轻商城:
可以在轻商城中浏览商品,并将喜欢的商品添加到购物车中(暂不支持支付):
执行下面的命令克隆项目:
git clone git@github.com:tanhe123/litemall.git
如果没有安装 Git,也可以直接在页面点击 Downlaoad Zip 直接下载代码并解压:
为我们准备好的域名,添加 CNAME 记录
在 MYSQL 数据库上创建一个名为 litemall 的 database,然后将 litemall-db/sql 中的 litemall_table.sql 以及 litemall_data.sql 两个文件导入到该数据库中。
如果使用的是 aliyun RDS,可以直接通过下面的方法导入:
修改 template.yml 中的 SPRING_DATASOURCE_DRUID_URL 为数据库地址,修改 SPRING_DATASOURCE_DRUID_USERNAME 为数据库用户名,修改 SPRING_DATASOURCE_DRUID_PASSWORD 为用户名密码。
最后将 template.yml 中的域名 litemall.mofangdegisn.cn 替换为自己域名。
对于 linux 或者 mac,可以直接执行项目内的 ./install.sh,该命令会分别进入到 litemall-admin 以及 litemall-vue 执行 cnpm install。
假如我们要使用的域名是 http://litemall.mofangdegisn.cn ,执行以下命令:
DOMAIN=http://litemall.mofangdegisn.cn ./deploy.sh
需要将上面的域名替换为用户自己的域名,执行完毕后,完成部署。
打开配置的域名即可看到效果。
通过本文介绍的技巧,我们实现了快速部署商城应用到函数计算。
作者:tanhe123
本文为阿里云原创内容,未经允许不得转载。
上篇《即学即会 Serverless | 如何解决 Serverless 应用开发部署的难题》中,我们阐述了工具链的重要性,那么本文将带领各位快速实现 Serverless Devs 入门。
https://help.aliyun.com/document_detail/195474.html
$ npminstall @serverless-devs/s -g
@serverless-devs/s:2.0.89, @serverless-devs/core: 0.1.7, darwinarwin-x64, node-v12.15.0
获取密钥
配置 Serverless Devs 的阿里云密钥,一般需要密钥信息,获取页面为:
https://usercenter.console.aliyun.com/#/manage/ak
关于密钥信息的获取流程如下:打开获取密钥页面;https://usercenter.console.aliyun.com/#/manage/ak
并获取密钥信息 :
引导式密钥配置
通过引导式进行密钥配置:可以通过 s config add 命令,进行引导式创建:
执行 s config add ,并选择 Alibaba Cloud (alibaba):
$ s config add? Please select a template: Alibaba Cloud(alibaba)Refer to the document for alibaba key: http://config.devsapp.net/account/alibaba? AccountID ()
此时,可以按照引导,进行密钥的配置:
? Please select a template: Alibaba Cloud(alibaba)
Refer to the document for alibaba key: http://config.devsapp.net/account/alibaba
? AccessKeyID 此处填写AccessKeyID
? AccessKeySecret 此处填写AccessKeySecret
? Please create alias for key pair. Ifnot, please enter to skip alibaba-access
Alias: alibaba-access AccountID:此处填写AccountID
AccessKeyID: 此处填写AccessKeyID
AccessKeySecret: 此处填写AccessKeySecret
Configuration successful
命令式密钥配置
为了在一些自动化流程中可以更好的使用 Serverless Devs,所以除了通过引导式进行密钥的配置, Serverless Devs 还支持通过命令行非交互式进行密钥的配置。
同样以阿里云密钥配置为例,可以直接通过参数将密钥信息传入:
$ s configadd --AccessKeyID myAccessKeyID --AccessKeySecret myAccessKeySecret -a demoAlias: demoAccountID: myAccountIDAccessKeyID: myAccessKeyIDAccessKeySecret: myAccessKeySecretConfigurationsuccessful
通过环境变量配置
有相当一部分的开发者会将密钥信息放在环境变量中,这样在使用工具的时候,就需要从环境变量中读取密钥信息,此时,通过环境变量配置密钥的方法就显得尤为重要,为此,Serverless Devs 提供了两种通过环境变量配置密钥的方法:
方法 1: 直接通过 config add 进行配置
这种方法很简单,基本和上面所描述的命令式密钥配置是类似的,只不过传入的不是固定值,而是环境变量,例如在环境变量中有:
ALIBABA_CLOUD_ACCESS_KEY_ID、ALIBABA_CLOUD_ACCESS_KEY_SECRET 等相关内容;
此时可以通过 s configadd 命令进行添加:
$ s config add -adefault-aliyun -kl AccessKeyID,AccessKeySecret -il${ALIBABA_CLOUD_ACCESS_KEY_ID},${ALIBABA_CLOUD_ACCESS_KEY_SECRET}
方法 2: 通过指定名称使用环境变量密钥 通过指定环境变量的名字进行配置:例如当前有阿里云密钥对:
AccountID:temp_accountid
AccessKeyID:temp_accesskeyid
AccessKeySecret:temp_accesskeysecret
此时可以在环境变量中可以命名 key 为*********_serverless_devs_access,
例如 default_serverless_devs_access,value 为 JSON 字符串,如:
Key:default_serverless_devs_access
Value:{\"AccessKeyID\":\"temp_accesskeyid\",\"AccessKeySecret\":\"temp_accesskeysecret\"}
密钥使用的注意事项
安全相关 云账号 AccessKey 是您访问阿里云 API 的密钥,具有该账户完全的权限,请您务必妥善保管!不要通过任何方式(e.g. Github)将 AccessKey 公开到外部渠道,以避免被他人利用而造成安全威胁 。强烈建议开发者遵循阿里云安全最佳实践 ,使用 RAM 子用户 AccessKey 来进行 API 调用。
关于密钥配置中 Alias 的实际思路
在 Serverless Devs 中,除了配置云厂商所提供的密钥信息之外,还需要额外进行 Alias 的设置,这里所谓的 Alias 是指对密钥进行的别名设置。由于 Serverless Devs 支持多密钥的配置和管理,所以一般情况下,一个别名对应一个密钥对。相关的最佳实践可以是:
●有两个账号,分别是阿里云账号和腾讯云账号,那么配置密钥的时候就可以设置别名 alibaba、tencent,在使用的时候,通过引用不同别名使用不同的密钥,以防止每次切换密钥的时候,进行密钥重新配置;
●自己拥有两个环境的密钥,一个是测试环境密钥 test,一个是线上环境密钥 release,当开发完成之后需要把业务部署到不同的环境下,可以通过指定密钥的形式,直接进行部署,而无需因为密钥的切换反复进行密钥的重新配置;
密钥使用方法 在 Serverless Devs 中,密钥的使用主要在两个层面:
●命令行层面:在命令行中使用的时候,可以直接通过-a/--access 参数进行使用,例如在部署某业务的时候,可以通过 s deploy-a demo 指定使用 demo 密钥对;
●Yaml 配置文件层面:可以通过在 Yaml 中进行密钥对的指定,例如:
在 Yaml 的中直接指定 access,表示整个应用都通过当前密钥对进行部署,也可以在某个模块/业务下指定当前模块/业务使用某指定的密钥对进行部署。
密钥使用顺序相关
密钥支持多种形式的使用,也就会出现密钥的使用的顺序问题:
●通过 -a/--access 参数指定的密钥信息
●使用已经配置的 default 密钥信息
●使用通过环境变量配置的 ``default_serverless_devs_access` 密钥信息
●不使用密钥信息 / 进入密钥信息配置引导 具体的流程图为:
密钥的其他相关操作 在 Serverless Devs 中,除了配置密钥之外还包括密钥的修改、删除和查看,此时可以通过 s config -h 进行相关功能的查看:
●密钥的查看,可以通过 s config get -h 查看帮助;
●密钥的修改,可以重新进行指定别名的密钥的创建,并通过-f 参数,强行覆盖;
●密钥的删除,可以通过 s config delete-h 查看帮助;
Serverless Devs 可以通过指定格式的 Yaml 对 Serverless 应用进行描述,在 Serverless Devs 的规定中,一个 Yaml 可以被认为是一个 Serverless 应用,在下篇文章中我会为大家具体介绍下 Yaml 的使用规范。
原文链接:http://click.aliyun.com/m/1000345819/
本文为阿里云原创内容,未经允许不得转载。
家无论出远门,还是出外旅行,我想一定有过住酒店的经历,那么,住酒店,最怕被装上摄像头窥探你的隐私问题,特别是近年来兴起的针孔摄像头,又小又让人难以捕捉,所以令我们感觉到隐私完全避无可避,没有安全感。所以今天,小编来教大家怎么防针孔摄像头。
要预防,首先要知道它的原理,针孔摄像头,在夜间主要是靠红外线来捕捉画面,当然如果房间光线良好,那画面就更清晰。如果没有红外线功能的设想头在夜晚无光线的情况下,是无法捕捉画面的,就如手机照相没有补光灯(闪光灯)一样,照出来的是一团黑。
下面我们来说说
如何检查针孔摄像头?
1、开启手机照相功能
注意这里需要说明一点“5s手机摄像头过滤了红外线,所以无法检查!”
2、关闭房间的灯,拉上窗帘,让房间无一点光线,处于黑暗状态
越黑检查状态越佳!然后打开手机照相功能,围绕房间的转一圈,并检查房间的死角,天花板。电视,空调等等有可能安装针孔摄像头的地方。如有针孔摄像头,那么手机上将看到,红点,有红点就是摄像头。
这是属于安全问题,接下来的这篇淘宝文,虽然推广了一些产品,但是教你在酒店别碰这些东西,很有用。
https://h5.m.taobao.com/daren/commonDetail.html?feedId=5690603193&accountId=1739653505
而在也有一篇阅读量很高的文,也是酒店的注意事项。
http://temai.snssdk.com/article/article/index?id=756795&source_type=6&content_type=1&channel_refer=tt_article&view_from=channel&platform_type=
所以希望出外旅行,大家都能注意一些,毕竟自身的安全很重要。
*请认真填写需求信息,我们会在24小时内与您取得联系。