最近以(yi)官方的 demo 為例配置部(bu)署 wafer,實現了小(xiao)程(cheng)序的授權登陸(lu)、獲取用(yong)戶信息以(yi)及(ji)小(xiao)程(cheng)序 websocket 聊天室功能。這個過程(cheng)中踩了幾個小(xiao)坑(keng),特分享出來,讓 ...
服(fu)務器:服(fu)務器環境centOS 6.8 + php7 + nginx/1.9.10
wafer SDK代碼,以官方(fang)demo為例 下載
提供會話服務的代碼 下載
客戶端小程序(xu)demo代碼 下載(zai)
如何配置免(mian)費的(de)https,自(zi)行(xing)百度(du)
新建個文本文件(jian)粘貼如下(xia)代碼:
{
"serverHost": "www.xx.com",
"authServerUrl": "//www.xx.com/itjaye/wafer-session-server/",
"tunnelServerUrl": "//ws.qcloud.com",
"tunnelSignatureKey": "xxxxxx",
"networkTimeout": 30000
}
將文(wen)件保存為sdk.config并上傳(chuan)到/etc/qcloud/sdk.config (需要在/etc/下(xia)面自己創建下(xia)qcloud這個目錄)
上線(xian)前(qian)需要(yao)在服(fu)務器如下配(pei)置
a.在數據(ju)庫(ku)中創建cAuth數據(ju)庫(ku)并導入根目錄(lu)下的(de)mina_auth/db.sql
b.修改wafer-session-server/system/db/db.ini代碼(ma)
[db]
host = 數據庫服務器IP
port = 3306
user_name = 用戶名
pass_wd = 密碼
data_base = cAuth
登陸微信(xin)小程序管理平臺//mp.weixin.qq.com/ 在 『設(she)置』-『開發設(she)置』 里添加(jia)如下url
wss://ws.qcloud.com、//ws.qcloud.com
修(xiu)改下客(ke)戶端demo中的/config.js的host為你的業務服(fu)務器上wafer SDK地址
var host = 'www.xx.com/itjaye/wafer-php-server-demo';
針對(dui) wafer-php-server-demo代碼(ma),記得先在(zai)該(gai)文件夾下執行composer install操作(zuo)來安裝wafer SDK
需要(yao)分配配置下SDK本身所采用的CI框架來支持偽靜態,隱藏(zang)index.php
修(xiu)改(gai)代碼中application/config/config.php里的配置 修(xiu)改(gai)26行為
$config['base_url'] = '//www.xx.com/itjaye/wafer';
修改(gai)38行為(wei)
$config['index_page'] = '';
同(tong)時,在Nginx服務器的(de)配置(zhi)(zhi)文件中增加如下設置(zhi)(zhi)以支持ci框架(jia)的(de)偽(wei)靜態(tai)
location /itjaye/wafer/ {
index index.html index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /tjaye/wafer/index.php?s=$1 last;
break;
}
}
在(zai)服務(wu)器上(shang)(shang)web根目(mu)錄下創(chuang)建(jian)一個文件(jian)夾,我的文件(jian)夾名為itjaye,把上(shang)(shang)面wafer-php-server-demo文件(jian)夾和wafer-session-server文件(jian)夾上(shang)(shang)傳到(dao)該文件(jian)夾下即可。
針對會話服(fu)務由于(yu)是php7 需(xu)要如下修改(gai),
mysql 的(de)函數換(huan)成mysqli支持,修改(gai)方法可以參考
采用(yong)function __construct 構造函數(shu)來替換和類名相同的函數(shu)名
https://github.com/tencentyun/wafer/wiki