如果用树莓派做web服务器的话,性能怎么样?
看用来干什么,我在上面装tomcat和mysql,用来做智慧社区的社区服务器,控制车牌识别道闸,社区电梯授权控制,门禁授权控制,绿化系统控制,路灯控制,温室控制和安保巡逻的数据采集,最后汇总到云端,两百多套,运行了快两年了,系统很稳定。以任务最重的一套来说,日车辆进出一万多次(日志入库,同时发送云端),高峰一小时四五千,数据库每有八千辆车。高峰期门禁和电梯授权一天不少于五万次,安保巡逻数据,早六点到晚十点一共四十多个宝安端设备,每人每十秒一条数据,晚上十个人。其他数据量并不大。
刚开始的时候用了盗版SD卡,两个月报废,正版卡运行了一年多了,2016年3月首次投产的。
如果你想门户或者论坛,一旦访问量上来就完蛋,但做内管系统没问题
搭建网站的选择有多种,可以购买域名和服务器,但是每月需要付费,成本较高;也可以在树莓派上搭建网站,这样可以把服务器掌握在自己手中,节省成本,也会有自己掌握的爽感。但是树莓派存在断网或断电的风险,因此树莓派上运行的网站,其稳定性会有所欠缺;最近发现,使用安卓手机也可以搭建网站,个人觉得甚妙,因为安卓手机可通过电话卡连接移动网络,也自带电池,因此抵抗断网和断电的能力大大强于树莓派,而且手机也更加便携。
那么如何使用安卓手机搭建一个网站呢?
需要在安卓手机上安装的软件有三个:KSWEB、花生壳内网版、花生壳管理:
其中,
搭建服务器很简单,打开KSWEB:
可以看到Nginx、Apache、MySQL等组件都处于未启动的状态。
Server IP一栏显示服务器在局域网中的ip地址是0000,这是由于我们的安卓手机未接入任何wifi,而是接入4G网络;如果安卓手机接入到wifi中,那么这个ip地址会是192168xxxxxx这种常见的格式。
要部署一个网站,首先需要搭建web服务器。KSWEB为我们提供了NGINX和apache两种选择,目前apache是主流的web服务器;而nginx则更轻量,在树莓派等性能较为羸弱的设备上颇受青睐。这里我们使用NGINX。
我们滑动至NGINX页,开启服务,按右下角加号添加主机:
此时,一个静态的web服务器已经在局域网中搭建起来了,我们访问web服务器地址:0000:8001(其中,0000是手机在局域网中的ip地址,8001为服务器的端口号)
实现内网穿透的工具是“花生壳内网版”和“花生壳管理”这两个app,他们的关系是怎么样的呢?以下我根据我个人理解进行梳理如下:
假设我们有某个设备(Windows、Mac、Linux、树莓派、安卓),想要使用花生壳对这个设备上的服务器进行内网穿透,那么需要在设备上安装相应的花生壳客户端,并保持运行。在花生壳官网上,我们可以看到各个系统对应的花生壳客户端,对于安卓手机来说,相应的花生壳客户端就是“花生壳内网版”这个app。
至于“花生壳管理”这个app,只是一个远程设置和管理的工具而已;除了“花生壳管理”这个app,我们也可以在花生壳官网上登录并进行远程管理。
弄清楚这个关系之后,我们就开始对第二步所搭建的web服务器进行内网穿透了。
我们打开“花生壳管理”,并登录,点击“添加映射”:
此时,需要打开“花生壳内网版”,用同一个帐号登录,让映射生效。进入后可以看到我们所建立的映射:
至此,我们在安卓手机上的web服务器已经搭建完成。在安卓手机上搭建web服务器,不失为一个让旧手机发挥余热的好选择。
设备:
参考资料:
如下图所示,mesh网络由MPP、MP、MAP三种设备组成:
这三种设备配置也不一样,他们之间是通过mesh链路连接在一起的,但是需要保证mesh节点工作的信道号和mesh id号必须相同!
首先要能ssh连上树莓派,由于树莓派本身的wifi模块不支持mesh网络,所以挑选了TL-WN722N V1
查看 https://wwwjianshucom/p/6407472e2550
在此示例中,我们将配置一个mesh节点以使用mesh网络,该节点将自动与使用相同配置(mesh和信道)的任何其他对等节点连接。
每个mesh节点都需要配置如下:
我的想使用第二张网卡也就是wlan1来做mesh组网,过程如下:
如果遇到了这个错误 command failed: Device or resource busy (-16) ,就先把网卡关掉在启用
添加mesh
查看是否创建成功
注意:默认情况下,所有mesh接口都从通道1开始。
关闭mesh0并设置mesh id
启用mesh0
分配ip,mesh组网要在同一个网段下
这样一台设备就配置好了。配置其他设备的时候只需要分陪不同的IP即可。在默认配置中,mesh节点将自动尝试创建所有其他具有相同mesh id的网格节点的对等链接。
使用phy接口,使用 iw list ,查看网卡对应的phy,我的wlan1对应的phy1
先关掉wlan1
验证是否创建成功
启用mesh0
设置ip,假设为10001
使用 iw dev mesh0 station dump 和 iw dev mesh0 mpath dump 命令检查已建立的对等链接:
iw dev mesh0 mpath dump
一些解释:
Destination MAC Address :目地mac地址。此mesh路径的目的地。直接路径的目的地和下一跳具有相同的MAC地址。
Next-hop MAC address :下一跳地址。直接路径的目的地和下一跳具有相同的MAC地址。
IFACE :专属网的名称
SN :此路径的目标序列号。 DSN用于确定节点路径信息的“新鲜度”。例如,假设节点接收到其路径表中已经存在的目的地的路径响应。如果路径响应的DSN较高,则它将替换现有路径,因为它将被认为是较新的。
Air Time Link Metric :路径的度量(或“成本”)。较低的度量标准是首选,并且在选择了多个路径的情况下,协议栈将选择成本最低的协议(即:空中链路度量最低的协议)。该值是使用预期的吞吐量得出的(metric = 1 + 8192 / Expected_throughput_mbps)预期吞吐量(Expected_throughput_mbps)取决于驱动程序(例如,某些包含重传)。
Frame Queue Length :此网格路径的排队帧数。
Expiration Time :此mesh路径过期的时间(以jiffies为单位)
Discovery Timeout :路径发现的剩余时间(如果正在发现此路径)。
Discovery Retries :重试发现的次数(如果正在发现此路径)。
Flags :它是一个位掩码,由该路径的以下状态标志组成:
树莓派用python来进行编程。树莓派项目的一个核心思想是Python编程语言的使用。Python允许树莓派的拥有者将项目扩展到令人难以置信的规模。Python是一个解释型的面向对象的、跨平台的编程语言。良好的可靠性、清晰的语法和易用性,使它成为最流行的编程语言之一。Python是一个优雅的、功能强大的语言。
RaspberryPi系统用的是ARM架构的Linux,Linux上的大部分编程语言如GNUC/C,Java,Python,Perl,PHP都能用,Net本来就不支持Linux,不过说不定非官方的Mono会支持ARM。
可以按照以下步骤:
在树莓派上安装Kali。在开始之前,你需要和安装Kali Linux支持树莓派的触屏版本镜像。它与安装任何其他的树莓派操作系统一样。
连接显示屏。树莓派有一个触屏可适配的GPIO(通用输入/输出),即树莓派主板角上的一组针脚,如何使用显而易见。继续,插入显示屏到树莓派。
插上所有的电源并启动。安装好显示器后,就该接通其他零件的电源了。把Wi-Fi适配器和键盘接入到USB端口。再把树莓派连接到电池组。启动过程有可能有点缓慢和粗陋,不必为此担心。首先,在启动开始前,会先显示一会儿白屏。最终,将显示登录界面。
登录并且启用无线网卡。现在该登录和启用无线网卡了,这样你才可以真正地使用 Kali Linux 里的工具。树莓派会自动识别无线网卡,但是你仍然需要连接上网络。首先,需要启动 Kali Linux 图形用户界面并确保一切正常:</ol>树莓派的命令行上将显示用户名和密码的提示。输入用户名 root 和密码 toor (一会儿要修改掉该密码)。
输入 startx 然后回车来启动 Kali 图形界面。在树莓派上加载可能需要一段时间。
现在你可以用触屏和键盘来操控树莓派。点击底部任务栏的终端图标来打开命令行。
设置无线网卡,在命令行输入nano /etc/network/interfaCES 并回车来加载Wi-Fi设置的配置文件。
增加如下文本到你刚刚打开的文件,替换上你自己的网络信息:auto wlan0 iface wlan0 inet dhcp wpa-ssid “你的网络名称” wpa-psk “网络密码”完成后,按下 Ctrl+X 保存并退出。无线网卡现在可以使用了(有可能需要先重启)。 5 修改密码。在开始任何操作之前,很有必要修改设备的root密码(避免其他也有类似黑客技能的人控制它)。还好这个过程很简单。如果你还在命令行(如果不在,点击 Kali 的终端图标重新打开它),输入 passwd 并回车。
输入新密码两次
重新配置 OpenSSH 也有好处,这样它不会是默认设置。输入 dpkg-reconfigure openssh-server 并回车。
0条评论