美文网首页技术栈微信小程序开发PHP经验分享
自行部署腾讯云微信小程序后端开发套件wafer

自行部署腾讯云微信小程序后端开发套件wafer

作者: 徐佳义 | 来源:发表于2017-02-08 19:50 被阅读13825次

最近以官方的demo为例配置部署wafer,实现了小程序的授权登陆、获取用户信息以及小程序websocket聊天室功能。这个过程中踩了几个小坑,特分享出来,让大家少碰壁。自行部署前最好是要弄明白wafer的业务流程,需要准备相应的服务器环境、所需的代码,以及清楚明白你需要配置什么。

一.准备工作

  • 服务器:服务器环境centOS 6.8 + php7 + nginx/1.9.10

  • wafer SDK代码,以官方demo为例 下载

  • 提供会话服务的代码 下载

  • 客户端小程序demo代码 下载

二.配置文件

  • 1.配置以支持https访问

如何配置免费的https,自行百度

  • 2.配置wafer的SDK配置文件sdk.config

新建个文本文件粘贴如下代码:

{
    "serverHost": "www.xx.com",
    "authServerUrl": "http://www.xx.com/itjaye/wafer-session-server/",
    "tunnelServerUrl": "https://ws.qcloud.com",
    "tunnelSignatureKey": "xxxxxx",
    "networkTimeout": 30000
}
  • serverHost 你的业务服务器的域名,上面部署wafer SDK代码
  • authServerUrl 会话服务地址,登陆授权会用到。上面部署会话服务的代码
  • tunnelServerUrl 这个是信道服务器地址,不需要部署,直接使用腾讯提供的信道服务器地址https://ws.qcloud.com
  • tunnelSignatureKey 修改成自己的签名秘钥,随便自己定义一个就行

将文件保存为sdk.config并上传到/etc/qcloud/sdk.config (需要在/etc/下面自己创建下qcloud这个目录)

  • 3.配置会话服务调用的数据库连接配置文

上线前需要在服务器如下配置

a.在数据库中创建cAuth数据库并导入根目录下的mina_auth/db.sql

b.修改wafer-session-server/system/db/db.ini代码

[db]
host = 数据库服务器IP
port = 3306
user_name = 用户名
pass_wd = 密码
data_base = cAuth
  • 4.配置小程序管理平台

登陆微信小程序管理平台https://mp.weixin.qq.com/ 在 『设置』-『开发设置』 里添加如下url

wss://ws.qcloud.comhttps://ws.qcloud.com

  • 5.配置客户端代码

修改下客户端demo中的/config.js的host为你的业务服务器上wafer SDK地址

var host = 'www.xx.com/itjaye/wafer-php-server-demo';
  • 6.配置wafer-php-server-demo

针对 wafer-php-server-demo代码,记得先在该文件夹下执行composer install操作来安装wafer SDK

需要分配配置下SDK本身所采用的CI框架来支持伪静态,隐藏index.php

修改代码中application/config/config.php里的配置
修改26行为

    $config['base_url'] = 'https://www.xx.com/itjaye/wafer';

修改38行为

    $config['index_page'] = '';

同时,在Nginx服务器的配置文件中增加如下设置以支持ci框架的伪静态

location /itjaye/wafer/ {
            index  index.html index.php;
            if (!-e $request_filename) {
                rewrite  ^(.*)$  /tjaye/wafer/index.php?s=$1  last;
                break;
            }
        }

三.上传代码

在服务器上web根目录下创建一个文件夹,我的文件夹名为itjaye,把上面wafer-php-server-demo文件夹和wafer-session-server文件夹上传到该文件夹下即可。

四.其他问题

针对会话服务由于是php7 需要如下修改,

  • mysql 的函数换成mysqli支持,修改方法可以参考

  • 采用function __construct 构造函数来替换和类名相同的函数名

五.参考资料

https://github.com/tencentyun/wafer/wiki

相关文章

  • 2018-12-01

    Wafer2 快速开发 Demo 本仓库是最简版的 Wafer2 开发套件,建议配合腾讯云微信小程序开发者工具解决...

  • Wafer2

    Wafer2 快速开发 Demo 本仓库是最简版的 Wafer2 开发套件,建议配合腾讯云微信小程序开发者工具解决...

  • 自行部署腾讯云微信小程序后端开发套件wafer

    最近以官方的demo为例配置部署wafer,实现了小程序的授权登陆、获取用户信息以及小程序websocket聊天室...

  • 自行部署微信小程序生产环境(node.js)-阿里云服务器

    这两天刚开始跟着视频教程学习微信小程序,视频里将小程序后端部署到了腾讯云,进行联调开发。因本人只有阿里云服务器所以...

  • 部署微信小程序服务器

    部署微信小程序服务器 这篇文章是 自行部署 官方Wafer框架 到自己的服务器的步骤指引。 由于小程序的登录功能需...

  • 微信小程序开发——学习笔记(三)

    微信小程序云开发——云函数 云函数介绍 云函数定义:运行在(腾讯云)上的程序,将需要的函数部署在云开发平台上,即可...

  • 自有服务器小程序后台部署攻略

    微信小程序的后台部署有两种方式 一种是通过腾讯云小程序解决方案,前后端交由腾讯云托管,这中方法的好处是不用自己管理...

  • 微信小程序云开发(一)

    什么是微信云开发 微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务。 开发者可以使用云开发快速开发小程序、...

  • 微信小程序知识全景思维导图

    微信小程序思维导图 腾讯云小程序学习地址 小程序开发文档 小程序开发社区

  • 小程序Cloud开发归纳

    小程序云开发 小程序·云开发是微信团队联合腾讯云推出的专业的小程序开发服务。开发者可以使用云开发快速开发小程序、小...

网友评论

  • 赞记:请教一徐总,小程序里用户的头像用什么方案处理,因为用户定期会修改头像?
  • 916bb3231b4b:先感谢博主,我按照教程试了一下,demo中的登录可以,但是聊天室发送信息没反应。不知道博主有没有遇到。
    徐佳义:@barray888我以前配置的时候全部功能可用的
    916bb3231b4b:@徐佳义 你那边demo中的所有功能都正常吗?
    徐佳义:@barray888 聊天很可能是腾讯云信道服务器的原因
  • 小归ing:你要火
  • eb880b790913:你好,有一些关于聊天室demo的问题可以咨询你吗?谢谢了🙏
  • 237fad781f28:徐总有技术上的问题想跟你请教,方便给个联系方式吗?
    徐佳义:@飞龙匠王红木 小打卡上有我的微信二维码呀itjaye
  • 知晓程序:你好!我们是爱范儿旗下专注于小程序生态的公众号知晓程序(微信号 zxcx0101)。我们很赞赏你的文章,希望能获得转载授权。授权后,你的文章将会在知晓程序社区(minapp.com)、爱范儿、AppSo 等渠道发布。此外,由于第三方同步抓取功能,您的内容也可能会被同步发表到今日头条、搜狐、网易号等,我们会注明来源和作者姓名。

    非常感谢~~~
    徐佳义:@知晓程序 👌

本文标题:自行部署腾讯云微信小程序后端开发套件wafer

本文链接:https://www.haomeiwen.com/subject/ktebittx.html