在网上查了多资料,花了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