uniapp 微信小程序 mqtt 真机调试 笔记
2022/4/10 9:12:38
本文主要是介绍uniapp 微信小程序 mqtt 真机调试 笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
uniapp 微信小程序 mqtt 真机调试 笔记
一、uniapp代码:只要微信小程序模拟器运行正常就说明前端配置没问题
// #ifdef MP-WEIXIN self.options = { username:"username", password:"password", } var client = mqtt.connect('wxs://www.xxx.com/mqtt',self.options) // #endif
二、mqtt服务端配置(参考https://www.cnblogs.com/wishit/p/16014252.html)
三、NGINX安装及配置
1、NGINX安装
官网下载地址:https://nginx.org/en/download.html 最新稳定版(stable version) ***注意:不能使用中文路径***
2、为了启动(重启等)操作方便,在NGINX根目录新建一个nginx.bat文件
@echo off&color e&Title Nginx 命令行控制台 cls :Begin echo ********************************** echo. echo Nginx 命令行控制台 echo. echo ********************************** echo. & echo Script: %0% & echo. echo 请输入命令: echo. echo reload 重载 Nginx 配置 echo stop 停止 Nginx 服务 echo quit 退出 Nginx 服务 echo list 查询 Nginx 服务 echo info 输出 Nginx 安装信息 echo. echo kill 杀死 Nginx 进程 echo start 启动 Nginx 进程 echo restart 重启 Nginx 配置 echo. echo exit 退出控制台 echo cmd 启动 cmd echo.&echo.&set /p cmd=请输入: if "%cmd%"=="kill" goto Kill if "%cmd%"=="exit" goto End if "%cmd%"=="start" goto Start if "%cmd%"=="info" goto Info if "%cmd%"=="restart" goto ReStart if "%cmd%"=="reload" goto Reload if "%cmd%"=="stop" goto Stop if "%cmd%"=="quit" goto Quit if "%cmd%"=="list" goto List if "%cmd%"=="cmd" goto Cmd cls goto Begin :End exit :Kill cls echo. echo 尝试杀死 Nginx 进程 echo. echo.&echo. taskkill /F /IM nginx.exe set cmd= echo.&echo 执行完成 echo.&echo. goto Begin :Info cls echo. echo 输出 Nginx 安装信息 echo. nginx.exe -V set cmd= echo.&echo. goto Begin :Start cls echo. echo 尝试启动 Nginx 进程 echo. echo.&echo. start nginx.exe set cmd= echo.&echo 执行完成 echo.&echo. goto Begin :ReStart cls echo. echo 尝试杀死 Nginx 进程 echo. echo.&echo. taskkill /F /IM nginx.exe echo. echo 尝试启动 Nginx 进程 echo. echo.&echo. start nginx.exe set cmd= echo.&echo 执行完成 echo.&echo. goto Begin :Reload cls echo. echo 尝试重新加载 Nginx 配置文件 echo. echo.&echo. nginx.exe -s reload set cmd= echo.&echo 执行完成 echo.&echo. goto Begin :Stop cls echo. echo 停止 Nginx 服务 echo. echo.&echo. nginx.exe -s stop set cmd= echo.&echo 执行完成 echo.&echo. goto Begin :Quit cls echo. echo 退出 Nginx 服务 echo. echo.&echo. nginx.exe -s quit set cmd= echo.&echo 执行完成 echo.&echo. goto Begin :List cls echo. echo 查询 Nginx 服务 echo. tasklist /fi "imagename eq nginx.exe" set cmd= echo.&echo. goto Begin :Cmd cls start cmd set cmd= goto Begin
3、准备证书(以阿里云为例,下载NGINX证书)
NGINX根目录新建ssl文件夹,将证书文件xxx.key,xxx.pem拷贝到ssl文件夹
4、配置NGINX.CONF
upstream webcom { #这里类似一个别名,在下文中使用 server 127.0.0.1:5000; #端口改为自己的端口 keepalive 64; } upstream apicom { #这里类似一个别名,在下文中使用 server 127.0.0.1:5001; #端口改为自己的端口 keepalive 64; } server { listen 80; server_name www.lengkucloud.com; rewrite ^(.*)$ https://$host$1 permanent;#用户访问时实现http强制跳转为https } server { listen 443 ssl;#监听端口 server_name www.xxx.com;#配置域名,修改为你自己的域名 root html; index index.html index.htm index.php; ssl_certificate ./ssl/xxx.pem;#配置SSL证书,修改为你自己的证书 ssl_certificate_key ./ssl/xxx.key;#配置证书密钥,修改为你自己的 access_log ./logs/xxx.log;#配置日志输出,修改为你自己的 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location = /mqtt {#当访问为wss://www.xxx.com proxy_pass https://www.xxx.com:8888; #mqtt服务端监听的端口号(8888改为你自己的端口),8888端口就是wss通讯端口,这里做代理转发 proxy_redirect off; proxy_set_header Host www.xxx.com:8888; proxy_set_header Sec-WebSocket-Protocol mqtt; # 这些都是 websocket必须要配置的 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /api/ {#小程序访问api按此方法配置https的访问 proxy_pass http://apicom/;#这里使用的是别名,在上面定义了的 } location / {#其余的就转发到网站实现https的访问 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; proxy_set_header Connection ""; proxy_pass http://webcom/;#这里使用的是别名,在上面定义了的 } }
配置完成后,启动(或重启)NGINX即可,这样小程序mqtt真机调试,web的HTTPS,api的HTTPS就都可以了
这篇关于uniapp 微信小程序 mqtt 真机调试 笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20微信小程序开发入门指南
- 2024-12-20小程序 createCameraContext() 怎么实现识别条形码功能?-icode9专业技术文章分享
- 2024-11-22微信小程序的接口信息py可以抓到吗?-icode9专业技术文章分享
- 2024-11-22怎样解析出微信小程序二维码带的参数?-icode9专业技术文章分享
- 2024-11-22微信小程序二维码怎样解析成链接?-icode9专业技术文章分享
- 2024-11-22微信小程序接口地址的域名需要怎么设置?-icode9专业技术文章分享
- 2024-11-22微信小程序的业务域名有什么作用-icode9专业技术文章分享
- 2024-11-22微信小程序 image有类似html5的onload吗?-icode9专业技术文章分享
- 2024-11-22微信小程序中怎么实现文本内容超出行数后显示省略号?-icode9专业技术文章分享
- 2024-11-22微信小程序怎么实现分享样式定制和图片定制功能?-icode9专业技术文章分享