最近要在树莓派上开发一个简易的管理界面。主要功能是显示一些系统信息以及管理某个服务的账号。没有什么流量,只是管理员本人使用,sqlite 数据库就足够了。
需求很简单,但是当我在树莓派 3 上安装 ruby 时,对 ruby 又失去了信心。不管是直接用代码编译安装,还是用 rbenv 安装,编译起来耗时都长达 40 多分钟。(已经去掉文档选项,编译参数改为-j4
用满 4 个 cpu 内核)
现在已经开始编码了,不过也有些动摇是否应改用 python + flask 框架。另外也没想出来如何在 rails 网站里实现自动升级的功能(类似 wordrpess 网站里的升级链接)。
如果有人在树莓派上玩过 ruby on rails,求指点。
我在友善的 nanopi 上装过,不至于你说的那么慢啊,我印象中速度是可以接受的。嵌入式板子的话建议用 qt 写。自动升级我是这么做的:程序放到服务器,板子开机先启动一个脚本,判断程序是否是最新的来选择是否下载。之后再跳转到程序。@samport
确实 go 语言也许是个更好的选择,可以编译成一个独立程序,管理起来也方便。问题是我目前不会 go,需要增加学习的时间。
我以前在 centos 上开发过一个类似的网站,所以我想先用现成的 rails 代码快速完成一个可用的原型,然后再考虑用别的语言实现。到时候即使我不会 go,也可以很容易找到人改写成 go 语言。
在树莓派上编译 ruby 确实比较慢,我在网上找了一些别人的经验,耗时也差不多。也许是 ruby 在 ARM 机器上编译确实效率差。
不过编译安装完以后,rails 用起来并没有特别慢的感觉。用树莓派做长期开机的家用小服务器,跑个自己用的小服务,效果极好。
谢谢关于升级的建议!我的需求是用户在界面上能看到提示升级的链接,点击后就可以自动升级网站代码,接着自动重启 rails 服务。我好像没见过 rails 网站里有类似的实现例子。
我前几年在 Raspberry Pi 2 上跑过一次,就是实验性地用了一下,当时发现的一个问题是 Hash object 的 performance 不是很好。用来跑 Rails 不是很确定。