ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

uniapp 微信小程序 mqtt 真机调试 笔记

2022-04-10 07:31:37  阅读:425  来源: 互联网

标签:uniapp set 真机 微信 .& echo Nginx proxy goto


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,set,真机,微信,.&,echo,Nginx,proxy,goto
来源: https://www.cnblogs.com/wishit/p/16124681.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有