开发者社区> 弹性计算-百晓生> 正文

征文投稿丨使用轻量应用服务器搭建扫码测试项目

简介: 简洁高效又满足需要
+关注继续查看

编者按:本文来自轻量应用服务器征文活动用户投稿,已获得作者(昵称初七)授权发布。


公司现有WEB项目已经集成进企业微信自建应用里,还需要对项目功能进行扩充,需要调用扫一扫功能进行条码或二维码的识别,因而购买了一台轻量应用服务器搭建这个扫码测试项目。


之所以选择轻量应用服务器,主要是看中它的简洁高效。服务器配置的选择与默认环境选择都十分的方便,而且每月赠送流量,不需要额外费用;网关安全方面,防火墙配置也是相当简单方便,只需要在控制台内添加规则即可。

image001-打码.png


接下来一步步展示我的测试项目的搭建过程。


一、镜像选择

镜像选择上,阿里云的轻量应用服务器提供了22款主流应用搭建环境,系统镜像与应用镜像都很丰富,可以满足不同开发者的多样化需求。由于我的相关程序都是用go开发的,所以我这里只选择了系统镜像,使用的是SERVER 2008 R2系统,够用即可无需最新。

image.gifimage005.png


二、服务器环境搭建

搭建服务器环境时,我只安装了MSSQL_Express_2008R2、Telnet客户端。由于我的应用对数据库依赖很低也没必要单独购买,所以只需要在现有系统上安装即可。下载地址:

https://www.microsoft.com/zh-cn/download/details.aspx?id=30438


三、编写网关程序

虽说叫轻量轻应用服务器,但也真不想让它太轻松。考虑到以后服务器WEB应用的增加,而服务器只有一个80端口,如果每个应用地址后再配一个“:端口”这样太丑陋了。所以我需要一个网关,现在网关产品很多,比如Nginx。本着学习的态度,决定自己写一个反向代理程序。用go语言写反向代理还是很简单的,核心代码如下:


func (this *handle) ServeHTTP(w http.ResponseWriter, r *http.Request) {
             remote, err := url.Parse("http://内网地址:内网端口/UrlPath")
             if err != nil {
                          panic(err)
             }
             proxy := httputil.NewSingleHostReverseProxy(remote)
             proxy.ServeHTTP(w, r)
}


其他的主要还包括一些热加载配置,以及黑名单、访问控制等辅助功能设置项,根据自己的实际需要进行操作即可。


四、扫码测试项目开发


1、 新建应用

进入到企业微信后台→应用管理,创建应用“扫码测试”。

image007.png


需要调用JS-SDK,所以要在开发者接口内填写授信域名并完成验证。验证这里很重要,而且是必须的。

image009.png


设置应用菜单如下图:

image.gifimage011.png


这样就完成了企业微信部分的工作。进入企业微信就可看到名为“扫码测试”的应用。进入后点下边的扫码菜单,即可进入扫码页面。

图13.jpg


2、 后台服务

后台代码分为三部分:

路由代码部分:qy-weixin获取签名信息及相关配置。用于前端通过config接口注入权限验证配置;doqrcode是前端扫码页面。?

image017.png


后端代码部分

后端代码之一:获取Token用于获取应用jsapi_ticket。由于操作受到调用次数限制,所以需要自己缓存Token。

image.gifimage019.png


后端代码之二:获取应用的jsapi_ticket,用于计算agentConfig的签名。由于操作受到调用次数限制,所以需要自己缓存Ticket。

image021.png


后端代码之三:签名及相关信息

image023.png


前端页面代码部分

image025.png

image027.png

image029.png

image031.png


3、测试结果如下

图14.jpg

以上就是使用轻量应用服务器搭建扫码测试项目所有信息与步骤,从运行结果来看很成功,后面会进行服务器的相关压力测试。


我在一台轻量应用服务器上运行了几个项目,基本没有卡顿或是终端连接等问题出现,总体上对轻量应用服务器很满意,简单方便。


点击我要投稿,参与轻量应用服务器全新升级的征文活动,奖励更多,每月都可以参与哦~

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
云服务器部署后台过程记录
现做毕业设计,使用前后端分离的设计模式,后端完成后为方便后续调用以及维护,将后端打包后部署到ECS云服务器上,在此介绍部署流程及一些问题。
4 0
Go 函数
函数定义 Go 语言函数定义格式如下: func function_name( [parameter list] ) [return_types] { 函数体 } 以下实例为 max() 函数的代码,该函数传入两个整型参数 num1 和 num2,并返回这两个参数的最大值:
4 0
人人都能做游戏系列教程1(视频+图文版)
决定将“人人都能做游戏”系列教程做成视频教程,帮助更多的想要做游戏的人做出自己的小游戏。
4 0
Android 打包AAB+PAD(java篇)(下)
Play Core API 集成 安装时分发 快速跟进式分发和按需分发 查看状态 获取有关资源包的下载信息 安装 监控下载状态 下载内容较大 获取资源包 取消请求 移除资源包 获取多个资源包的位置 相关推荐 Android aab打包 Android App Bundle 已取代 APK
6 0
Go 语句
Go 语言条件语句 if 语句 | if 语句 由一个布尔表达式后紧跟一个或多个语句组成。 | if...else 语句 | if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。 | if 嵌套语句 | 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。 | switch 语句 | switch 语句用于基于不同条件执行不同动作。 | select 语句 | select 语句类似于 switch 语句,但是select会随机执行一个可运行
4 0
人人都能做游戏系列教程2(视频+图文版)
这是“人人都能做游戏”系列视频教程的第2节。这一节我讲会先带大家了解一下一个小游戏的全貌,然后会介绍一些游戏开发领域的“术语”。最后,会分享一些个人的经验和心得,希望能够对大家有所帮助。
4 0
人人都能做游戏系列教程3(视频+图文版)
这是“人人都能做游戏”系列视频教程的第3节。这一节我将会带大家了熟悉一下将会使用的游戏制作工具,然后制作出第一个“你好,小游戏。”的事例,向小游戏开发世界问好。
7 0
微信小游戏开发实战11-使用本地缓存
这是微信小游戏开发实战系列的第11篇,点击上方的#微信小游戏开发实战话题可以查看本系列的所有内容。 本节主要内容:使用本地缓存来记录玩家的设置以及各种类型数据的本地缓存和读取操作。
6 0
微信小游戏开发实战12-广告的开通和接入
微信小游戏开发实战系列的第12篇,点击上方的#微信小游戏开发实战话题可以查看本系列的所有内容。 本节内容主要包括:如何尽快的开通广告功能,以及如何将广告接入到微信小游戏中。
6 0
Swift-进阶 11:访问控制权限
Swift-进阶 11:访问控制权限
1 0
+关注
弹性计算-百晓生
专注分享云计算、云服务器相关知识,做技术领先、性能优异、稳如磐石的弹性计算!
139
文章
1
问答
来源圈子
更多
+ 订阅
相关文档: 云服务器 ECS 云虚拟主机 轻量应用服务器
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载
http://www.vxiaotou.com