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

简介: 简洁高效又满足需要

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


公司现有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

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


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


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

相关文章
|
5天前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
1月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
108 32
|
1月前
|
缓存 监控 测试技术
服务器压力测试
【10月更文挑战第11天】服务器压力测试
82 31
|
23天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
189 2
|
1月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
40 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
55 3
|
1月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
39 1
|
30天前
|
弹性计算 网络协议 Linux
云服务器评估迁移时间与测试传输速度
云服务器评估迁移时间与测试传输速度
|
1月前
|
前端开发 Java Shell
后端项目打包上传服务器部署运行记录
后端项目打包上传服务器部署运行记录
31 0

相关产品

  • 云服务器 ECS
  • 轻量应用服务器