在网上查了多资料,花了2天的时间终于把微信小程的聊天室环境搭建起来了,还算满意,在这里和大家分享下,希望能帮助要帮助的小程序开发者。
和网上介绍相同: nginx反向代理, 小程序mqtt插件 paho-mqtt.js, 用到mqtt服务器,
1. nignx,
nginx安装网上都有,说下注意的几点:
a. 小程序wss必须用到443 端口(目前我是这么做的,用其他端口,小程序会报错,不是有效的https什么的,忘记截图了)
b. nginx 安装我使用的是源码编译安装,开始用的yum安装,发现没有./configure 没法添加第三方模块
c. 需要添加第三方模块, 在这里直接贴出我的模块配置
第三方模块地址:https://www.nginx.com/resources/wiki/modules/
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=./mnt/headers-more-nginx-module-0.33
d. 小程序支持mqtt , 通过nginx配置:
server {
listen 443 ssl;
server_name localhost1 localhost2 ;
ssl_certificate *.pem;
ssl_certificate_key *.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1;
}
location = /mqtt {
proxy_pass http://127.0.0.1:8083;
proxy_redirect off;
proxy_set_header Host 127.0.0.1:8083;
proxy_set_header Sec-WebSocket-Protocol mqtt;
more_clear_headers Sec-WebSocket-Protocol;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
2. paho-mqtt.js
通过网上参考的例子: https://github.com/tennessine/paho.mqtt.wxapp;
介绍的很详细,就不多说了, 有一点,说下,开发中,没有太多时间深入研究,
a. 在用443端口链接时间,小程成依旧报错,我就把原js所有关于端口拼接的先注释掉了,就可以了,如果有知道的,可以告诉我,谢谢哦,
b. 开发中 在页面中定义client 进入退出页面,再次进入链接不上mqtt, 也不知什么原因,最后没法办,把client定义成全局的
ok