最近以官方的 demo 为例配置部署 wafer,实现了小程序的授权登陆、获取用户信息以及小程序 websocket 聊天室功能。这个过程中踩了几个小坑,特分享出来,让 ...
一、准备工作
服务器:服务器环境centOS 6.8 + php7 + nginx/1.9.10
wafer SDK代码,以官方demo为例 下载
提供会话服务的代码 下载
客户端小程序demo代码 下载
二、配置文件 1. 配置以支持https访问如何配置免费的https,自行百度
2. 配置wafer的SDK配置文件sdk.config新建个文本文件粘贴如下代码:
{ "serverHost": "", "authServerUrl": "", "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.com、https://ws.qcloud.com
5. 配置客户端代码修改下客户端demo中的/config.js的host为你的业务服务器上wafer SDK地址
var host = ''; 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