服务端|如何实现物联网后台

原创文章,转载请注明:转载自技术哥

微信订阅号:技术哥


技术哥

给你不一样的世界


上次技术哥教大家如何用9.9元搭建一个ECS服务器并且建立站点,让全世界都可以访问。

这次就让技术哥带领你们接着来学习如何实现物联网后台的操作吧(轻量应用服务器)


一、前言

物联网的实质是,万物互联。物体之间可以通过互联网连接到一起,而怎么连接到一起?其中有一步很关键的就是在服务器架设物联网后台。目前物联网后台的实现技术方案有以下几种:

物联网后台的实现

本篇将介绍如何使用GatewayWorker框架在自己的个人站点上制作一个精简的聊天室示例。


二、实现方案

服务器:Linux(centos 6.8/6.9)

数据库:MySQL(5.5)

服务端:PHP 5.6(Thinkphp 5)

协议: Websocket 1.1

框架: GatewayWorker


三、制作一个精简的聊天室demo

1.下载文件

进入GatewayWorker官网,点击GatewayWorker 2.0手册,在序言中点击下载demo,将下载好的GatewayWorker文件添加为压缩包并保存至桌面,查看开发必读。打开已搭建好的个人站点,搜索云翼计划,点击控制台,进入轻量应用服务器。

2.远程控制

1)轻量服务器点击阿里云控制台右上角的远程连接;

2)云服务器ECS请用Putty或X-shell进行远程连接,输入个人IP地址即可连接;

3)也可以使用Windows的远程桌面连接:开始菜单 —> 所有应用 —> Windows附件 —> 远程桌面连接 —> 输入你的IP地址 —> 连接(Win10家庭版无自带远程控制功能)

3.打开宝塔输入个人IP地址:8888 即可进入宝塔控制面板。(例:127.0.0.1:8888)

PS:
1)轻量服务器点击重置系统,在应用镜像中选择宝塔确认更换。打开宝塔控制面板
2)云服务器ECS CentOS宝塔面板安装配置见服务器|9.9元搭建服务器

4.文件上传与权限修改

1)在宝塔界面点击左侧导航栏中的 文件 —> 上传 —> 添加文件,选择GatewayWorker.zip,开始上传。上传之后解压文件夹。(推荐解压到新的文件夹)

2)修改文件权限:可在命令行中输入ch mod 777 GatewayWorker.zip 或在宝塔Linux面板中更改(文件 —> 权限 —> 输入777 —> 确定),修改成功后发现在命令行界面中该文件名变绿。

5.试运行

将所需文件均修改至可编辑状态后,命令行运行php start.php start 启动GatewayWorker(如遇 not permit,在该命令前加上sudo即可暂时取得管理员最高权限)。出现如图所示结果即可。

这里写图片描述

6.放行8282端口(宝塔、阿里云都要开)

1)打开阿里云控制台的云服务器的安全组中,[配置规则],加入外部端口放行8282

2)打开宝塔面板里的[安全],放行8282端口

7.修改协议并重启

协议介绍:

protocol为应用层协议,目前支持的协议有

1、websocket协议

2、text协议

3、Frame协议

4、自定义通讯协议

5、tcp

直接裸tcp,不推荐,见通讯协议作用。

下面修改tcp协议为WebSocket协议

1)宝塔控制面板 —> 文件 —> 查找关键词start —> 选择start_gateway.php

这里写图片描述

2)编辑start_gateway.php —> Ctrl+F搜索”tcp” —> 修改为”websocket”

     $gateway = new Gateway(''websocket://0.0.0.0:8282'');

3)在命令行中输入 sudo php start.php stop终止程序

这里写图片描述

4)再输入sudo php start.php start -d重启程序并保持不间断运行

这里写图片描述

PS:

(上述两条终止与重启命令要在GatewayWorker目录下进行,过程中如有重新进行远程连接,需重新进入该目录。

cd ..返回至最上层目录,

ls查看该目录下的文件,

cd filename进入该文件

文件具体存放位置在宝塔Linux控制面板的文件中查看)

这个时候服务器后台已打开,每个人在电脑命令行上 telnet 你服务器的IP地址 8282 即可聊天
这里写图片描述
到这里我们的聊天室demo已经搭建完成,这其实就是实现物联网的后台了,之后将可上网的硬件连接上后台,硬件与硬件之间,就可以传送数据,就可以进一步地实现真正的万物互联。


四、可能遇到的问题

1.轻量服务器两种镜像的不同

轻量应用服务器使用宝塔应用镜像时站点只可通过域名访问(注册域名需进行备案才可生效),使用WordPress应用镜像时可直接通过公网IP进行访问。

另外,轻量服务器和ECS服务器的具体区别请自行百度。

2.忘记密码

如忘记宝塔Linux面板密码,应执行如下操作,紫框即你要修改的密码,红框即面板账户

这里写图片描述

如果提示多次登录失败,暂时禁止登陆,请输入以下命令以消除登录限制

rm -f /www/server/panel/data/*.login

3.telnet失败

telnet失败可能是你还没安装telnet,或者没有放行阿里云和你的服务器内部放行8282端口

安装telnet解决方案:

1)Linux一句命令解决:sudo yum install telnet

2)Windows开启telnet:百度

放行8282端口解决方案:

详细查看上面的教程 3-6放行端口

还有什么问题欢迎提出,技术哥会尽力为你们解答的!


**

微信搜索“技术哥”,关注“技术哥”的微信公众号查看更多技术文章。

**

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值