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

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

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


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

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


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


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

相关文章
|
1月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
23天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
1月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
34 6
|
1月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
38 4
|
1月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
30 1
|
1月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
32 4
|
2月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
150 32
|
2月前
|
缓存 监控 测试技术
服务器压力测试
【10月更文挑战第11天】服务器压力测试
106 31
|
1月前
|
网络协议 关系型数据库 应用服务中间件
【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
这是一位粉丝(谢同学)给V哥的留言,描述了他在优化系统查询时遇到的问题:测试环境优化达标,但生产环境响应时间多出1秒。通过抓包分析,发现MySQL请求和响应之间存在500毫秒的延迟,怀疑是网络传输开销。V哥给出了以下优化建议:
|
2月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
285 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目

相关产品

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