一定注意 , 将文中server_name中的weixin.techeek.cn更换成你的域名 。将ssl_certificate和ssl_certificate_key中证书的路径更换成你刚上传证书的路径 。然后 , 执行下面的命令重启nginx服务 。
sudo service nginx restart之后 , 打开你电脑的浏览器 , 然后通过域名访问 , 注意 , 这里一定要在域名前加https:// , 比如我访问的域名https://weixin.techeek.cn/ 。

文章插图
1542188355313
如果域名前有小锁标志 , 则证明你已经配置成功 , 可以开始下一步了 , 这里502报错不用在意 , 因为我们还没有搭建WebSocket服务 , 所以服务器会返回502错误 。
配置通讯域名基本环境配置好之后 , 可以登录 微信公众平台 配置通信域名了 。我们点击微信公众号右侧的设置 , 然后找到服务器域名配置 。

文章插图
1542188610710
进入微信公众平台管理后台设置服务器配置 , 如上图所示 , 需要将你的服务器域名配置为你自己的域名 。我这里的域名是weixin.techeek.cn 。
WebSocket服务搭建上述步骤准备完成后 , 就可以撰写WebSocket服务端的代码了 , 我这里使用的是PHP socket即时通讯框架Workerman来进行搭建 。有了这个框架 , 我们就可以非常方便的搭建WebSocket服务 。因为本文主要讲解小程序端的WebSocket的使用 , 关于Workerman的详细使用教程 , 可以参考Workerman官方手册 , 本文仅做基础环境安装的介绍 。
首先 , 我们创建一个运行WebSocket服务的目录 , 我这里创建名为php-websocket-server , 目录位置可以自定义 , 我这里就将项目放在ubuntu用户的根目录下 。
mkdir /home/ubuntu/php-websocket-servercd /home/ubuntu/php-websocket-server接下来 , 我们使用composer包管理器安装WebSocket运行环境 。因为某些原因 , 国内访问composer可能会报错 , 所以我们需要使用国内的composer镜像 。然后就可以安装Workerman了 。sudo composer config -g repo.packagist composer https://packagist.phpcomposer.comsudo composer updatesudo composer require workerman/workerman安装完成后 , 默认情况下会有三个文件 , composer.json、composer.lock、vendor这三个文件 , 如果没有 , 请重新执行上面的命令 。├── composer.json├── composer.lock└── vendor安装完workerman依赖文件 , 我们就可以撰写系统所需的代码了 。使用nano编辑器 , 新建一个可执行的php文件 , 我这里创建的文件名为webSocket.php , 大家可自行更改 。nano webSocket.php代码如下<?phprequire_once __DIR__ . '/vendor/autoload.php';use WorkermanWorker;$ws_worker = new Worker("websocket://0.0.0.0:8080");$ws_worker->count = 4;$ws_worker->onMessage = function($connection, $data){$connection->send('hello ' . $data);};Worker::runAll();这时 , 一个最基本的websocket服务就编辑完成了 , 这里的代码意思是 , 通过/vendor/autoload.php引入Workerman的php文件 , 然后在8080端口创建websocket服务 , 并设置进程为4个进程 。然后执行onMessage回调函数 , 该函数接收客户端所发过来的数据$data , 然后使用send方法将数据发回给客户端 。接下来 , 我们就可以运行服务器了 , 执行下面的代码即可运行 。
sudo php webSocket.php start如果看到类似下面的输出 , 证明我们websocket服务器已经启动 , 接下来就可以开始配置小程序端的代码了 。
文章插图
1542247109151
小程序端连接服务器小程序连接Websocket服务器是通过wx.connectSocket()API进行连接的 , 为了方便连接API , 我们先看看官方的文档 。

文章插图
我们看到只有url是必填项 , 其他属性可以不填 , 那么连接服务器就比较简单了 , 我们打开index.js文件 , 写下下面的代码 。
推荐阅读
- 小夫与胖虎6张图 小夫我要进来了是什么梗
- 新站如何利用外链带来流量
- 经验分享:如何去写一手好SQL?
- 如何用30分钟搭一个wordpress网站?
- 回收站不小心被清空,原来只需5步即可恢复,实用值得收藏
- 什么是 Lambda?该如何使用?
- 什么茶败火呢,小敬说茶
- 乌克兰|2022 年年轻人如何找到满意的工作?
- 君山银针产地,如何鉴别君山银针
- 君山银针产区,如何鉴别君山银针
