最近以官方的 demo 為例配置部署 wafer,實(shí)現(xiàn)了小程序的授權(quán)登陸、獲取用戶信息以及小程序 websocket 聊天室功能。這個(gè)過程中踩了幾個(gè)小坑,特分享出來,讓 ...
服務(wù)器:服務(wù)器環(huán)境centOS 6.8 + php7 + nginx/1.9.10
wafer SDK代碼,以官方demo為例 下載
提供會(huì)話服務(wù)的代碼 下載
客戶端小程序demo代碼 下載
如何配置免費(fèi)的https,自行百度
新建個(gè)文本文件粘貼如下代碼:
{
"serverHost": "www.xx.com",
"authServerUrl": "http://www.xx.com/itjaye/wafer-session-server/",
"tunnelServerUrl": "https://ws.qcloud.com",
"tunnelSignatureKey": "xxxxxx",
"networkTimeout": 30000
}
將文件保存為sdk.config并上傳到/etc/qcloud/sdk.config (需要在/etc/下面自己創(chuàng)建下qcloud這個(gè)目錄)
上線前需要在服務(wù)器如下配置
a.在數(shù)據(jù)庫中創(chuàng)建cAuth數(shù)據(jù)庫并導(dǎo)入根目錄下的mina_auth/db.sql
b.修改wafer-session-server/system/db/db.ini代碼
[db]
host = 數(shù)據(jù)庫服務(wù)器IP
port = 3306
user_name = 用戶名
pass_wd = 密碼
data_base = cAuth
登陸微信小程序管理平臺(tái)https://mp.weixin.qq.com/ 在 『設(shè)置』-『開發(fā)設(shè)置』 里添加如下url
wss://ws.qcloud.com、https://ws.qcloud.com
修改下客戶端demo中的/config.js的host為你的業(yè)務(wù)服務(wù)器上wafer SDK地址
var host = 'www.xx.com/itjaye/wafer-php-server-demo';
針對(duì) wafer-php-server-demo代碼,記得先在該文件夾下執(zhí)行composer install操作來安裝wafer SDK
需要分配配置下SDK本身所采用的CI框架來支持偽靜態(tài),隱藏index.php
修改代碼中application/config/config.php里的配置 修改26行為
$config['base_url'] = 'https://www.xx.com/itjaye/wafer';
修改38行為
$config['index_page'] = '';
同時(shí),在Nginx服務(wù)器的配置文件中增加如下設(shè)置以支持ci框架的偽靜態(tài)
location /itjaye/wafer/ {
index index.html index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /tjaye/wafer/index.php?s=$1 last;
break;
}
}
在服務(wù)器上web根目錄下創(chuàng)建一個(gè)文件夾,我的文件夾名為itjaye,把上面wafer-php-server-demo文件夾和wafer-session-server文件夾上傳到該文件夾下即可。
針對(duì)會(huì)話服務(wù)由于是php7 需要如下修改,
mysql 的函數(shù)換成mysqli支持,修改方法可以參考
采用function __construct 構(gòu)造函數(shù)來替換和類名相同的函數(shù)名
https://github.com/tencentyun/wafer/wiki
工作日 8:30-12:00 14:30-18:00
周六及部分節(jié)假日提供值班服務(wù)