bootstrap 建站工具方法如何操作,用什么软件

很多人可能都有些废旧不用的手機比如像我这只摔得坑坑洼洼连送人都送不出手,二手也卖不了几个钱的但它们又不是完全不能用,其实功能都正常性能也还可以。如何才能发挥它们的余热

——做个人服务器就是一个不错的用途:功耗低,还自带UPS做个个人网站,个人云或下载机7x24小时开机,不擔心费电也不担心停电。

最近在Android手机上利用Linux Deploy搭建了一个LEMP/LNMP网站本文讲述其中的主要流程和注意事项。有一些坑也有点小窍门,还有一些测试数据拿手机做其它框架的网站或其它用途的服务器也可参考。

先评估下性能在手机上装了个Linux,用sysbench测试下CPU以PC和树莓派作为对比。

结果是耗时越短越好。

虽然比PC差远了但比树莓派快不少(多核应该更强)。其实我的网站以前是跑在树莓派2代上的树莓派的I/O(SD卡)也是很慢的。

至于方案理论上来说有这么几类:

APK提供http服务器、MySQL服务器、PHP的支持。——功能受限于APK不能使用标准的工具集。用类似于busybox嘚方式把Linux下的命令集和需要的服务器都编译到Android上。——累双系统,既可以引导Linux也可以引导Android。——树莓派可以以前用过RK3188的Android电视盒也鈳以,理论上手机也可以做到就看有哪几个手机厂商愿意提供这种支持了。所以可遇不可求。模拟器:APK是Linux的模拟器——慢。Linux和Android共用內核使用chroot容器的方式。——这几乎是最完美的方案了既不破坏Android,又有一个几乎完整的LinuxLinux Deploy就是这方面的杰出代表。

不root会有很多限制比洳不能使用1024以下的端口。而且root也是Linux Deploy要求的不同的手机型号,请各显神通寻找root攻略

对于荣耀6和6 plus,大致流程是(国内的各种一键root工具都不荇):

root后su是必装的(通常会自带),busybox也建议安装

既然是专用作服务器,其它不用的程序都卸载掉包括一些系统程序及服务,以减少對系统资源的占用方法是列出所有进程,在网上搜索其用途根据自己的需要进行删除。网上一些文章也会说明是否可删除建议删除還是保留。不能删除的可以尝试禁止启动

我的荣耀6 plus最后保留了不到一屏的App。不过系统内的进程数还是很多,但都处于不活动状态最後,手机设置为飞行模式;休眠状态始终保持WiFi连接

Linux Deploy可以将系统完全安装在内置Flash,或SD卡的image上也可以装到某个目录或分区。

为了比较我裝了多个系统,并共用home分区最后的SD卡分区方案是这样的:

这里的小经验是:保留一个小的FAT分区!这是为了让Android系统看上去还是有一个可用嘚SD卡。否则系统会提示SD卡不认识,是否要格式化万一哪天自己忘了SD卡里藏了好几个Linux的系统和数据,或者手快点了一下“是”就杯具叻。

建立多个Profile对应于多个系统。

然后依次对每个Profile进行配置

上图的安装位置设在内部Flash的/data/local目录下。如果想安装在SD卡分区上则类似于下图。

ssh服务是必须开启的挂载点的语法要注意:一行一个条目;用冒号分隔源路径和挂载点。

然后开始安装(装Debian8时安装忘了截屏下图用Debian9作為示意)。

这里的坑是在Android手机上安装LAMP/LEMP系统特有的想不到可能半天也搞不定,想到了只是一行命令

MySQL在安装的时候报告启动失败,日志上吔没有更多信息

好吧,既然MySQL 5.5失败那我装MariaDB 10.0吧?——结果还是失败

会不会是文件系统权限问题?把数据目录从Flash的/var/lib/mysql换到SD卡的/home/mysql吧——一样夨败。

其实原因是mysql用户的权限问题解决办法是把mysql这个用户加到aid_net_raw组。

aid_xxx 这些组其实是Android的用户组(这些组的映射/创建应该是Linux Deploy做的),容器內的Linux用户要具有Android的相应权限才能做相应的事而MySQL创建/监听socket,要有aid_net_raw对应的权限

网上有人把aid_inet也给予mysql用户,其实这个Internet访问权限对于MySQL不是必须嘚

我安装的这个Web系统(Drupal)有网页上安装/升级模块(插件)的功能。但这个功能用不了:

从字面看像是DNS或是网络连接的问题。最后的答案和前面MySQL启动不了是类似的:Web server进程需要有Internet访问的权限

发邮件也是网站必备的功能。通过PHP发邮件Web server同样需要Internet的访问权限(比如连接smtp.gmail的587端口)。

做服务器肯定是用有线网络好但无线网络是否堪用呢?下面的测试都是在5G的WiFi下靠近路由器,小米mini一代

用 ping 测试有线连接的树莓派囷无线连接的手机。

可以看到往返时间差了两个数量级。前者平均是0.72ms;后者差不多70ms

速度属于正常水平,对于自娱自乐的个人站点也鈳接受吧。

数据库放在Flash还是SD卡上

先对文件系统做一简单的测试。用dd读写总共4GB(大于手机内存)的文件每次读写不同大小的块。

最后的結果如下图所示

可以看到,写的速度差不多读的速度Flash还是比SD卡快不少。

还可以用sysbench测试MySQL性能或者用wget/curl直接测试网站的速度。总体上对於这个手机(荣耀6 plus),后面这两项测试的结果差别不大最后,我还是把数据库放在了内部Flash上

对于做服务器用途,想当然地会认为要把屏幕关掉控制开关屏幕的有好几个地方:

“显示”里面的延时熄屏;“开发者选项”里的插电时保持屏幕活动;Linux Deploy界面里的保持屏幕活动。

在性能测试中发现屏幕开着和关着的差别很大。

sysbench进行CPU测试的结果还是很稳定的包括以前用Linux Deploy 2.0.0-215,现在用的2.0.2-220;开启mysql/nginx等服务或者不开启分數波动在1%以内。可见屏幕开和关的差距是非常显著的。

测试结果也并没有差别

也许是屏幕关着的时候,CPU被降频使用了

最后,不得不選择让屏幕常开(当然亮度调至最低)。

作为对比树莓派的loadavg:

Android系统的loadavg空闲时普遍都很高;而用top命令查看各进程的CPU占用率时,并没有多高

关于这个问题,网上有一些讨论但我还没找到权威的说法。总之并不能用loadavg作为系统load的参考。

在启动Android系统时自动启动容器内的Linux,姒乎并不起作用

另一个层面的自动启动是自动启动Linux系统内的服务。这需要在Linux Deploy里启用 Init 系统并选用类型 SysV.

这样,在Linux系统启动时runlevel(默认为3)Φ设置为自动启动的服务就会自动启动,像普通的Linux那样否则,连cron服务都要手动启动

不过在我的手机上有个小问题:在启用了Init后,Stop Linux时会導致Android重启然后root丢失。但再重启一次会恢复root

数据库本来是安装在Flash上,可以将其备份到SD卡这样起到了“两个篮子”的作用。

考虑到Flash和SD卡嘟有可能突然失效(都曾经碰到过)远程备份也是必须的。

本想用NFS挂载NAS上的目录的但NFS client的安装有点问题。没有去深究直接用了ssh密钥登錄加rsync。命令示意:

Android系统本身:取决于厂家是否还提供升级支持升级后可能要重新root。总之是比较麻烦的由于Linux和Android共用内核,除非出现内核級别的安全漏洞否则没必要升级。Linux系统:可以安装unattended-upgrades之类的包来自动更新Linux Deploy:根据需要升级。升级前最好保存配置直接缷载/安装会把原配置数据全部清除;不过只要把Profile重新配置一下,就可以启动原系统 所以也不是大问题。

用记录型万用表UT181A对电流进行24小时监测(手机电池始终是满电)

每小时的平均电流在140~150mA之间,功耗相当于0.75W

小米路由器的USB口实测电流可以超过200mA,所以可以直接用这个路由器的USB口给手机长期供电

status:充放电状态;capacity: 电池容量百分比;charge_now:当前充电的容量(mAh);charge_full:电池的总容量(mAh);voltage_now:当前电池电压(V);voltage_max:电池充满电的电压(V);current_now:当前充电电流(mA),充电为正放电为负;如果系统负载高,电流会是负值;temp:电池温度(有无爆炸隐患早知道)

可以写几行脚夲,直接在网站上显示这些状态

在root过的Android手机上通过Linux Deploy安装Linux,可以达到和普通Linux一样的完整度和自由度能灵活地在上面部署各种LAMP, LEMP/LNMP站点。而且这样的“服务器”功耗低(小于1W),带“UPS”(电池)

主要的要注意的方面有:和Android相关的权限问题,如何自动启动服务熄屏对性能有無影响,等等手机虽小,但跨越Android, Linux及容器涉及系统的多方面,对技术爱好者也是一个很好的练习

本文主要是从平台的角度来谈论“手機服务器”的,并不涉及平台上的应用(即具体如何建一个网站)至于建网站的其它方面,后续会有文章敬请关注。

今天我就要给大家推荐几种好用嘚网页设计工具有了这些工具可以帮助设计师更加轻松地完成工作。

网站伴随着网络的快速发展而快速兴起成为了上网的主要依托,洏网页设计也因此成为了众多设计师的宠儿今天我就要给大家推荐几种好用的网页设计工具,有了这些工具可以帮助设计师更加轻松地唍成工作

Avocode是前端切图神器,它实现从视觉到代码的过渡自动生成导出图片的代码。

交接和检查 - 提供设计并获得规格

轻松导入文件只需拖放即可将设计文件导入Avocode。

设计管理 - 保持设计版本同步

跟踪设计变更观察您的项目开发。

保持您的设计文件在云中的组织同步和备份,以便您的团队可以持续访问最新的设计版本

原型 - 分享、玩耍和检查原型

涵盖从原型到 Avocode 代码的工作流程。

轻松将所有设计原型导入 Avocode讓团队的其他成员看到屏幕,评论和检查之间的关系

团队协作 - 讨论变化并加快工作速度

通过 Avocode 您的团队,客户和承包商终于可以查看您与怹们共享的任何设计版本讨论变更并进一步推动您的项目。

Pixlr Editor 是一个超强的免费在线处理图片工具可满足您的所有编辑需求。完全控制您的图像包括图层和效果。简单点说Pixlr Editor 就是一个类似 Photoshop 的 web 软件,适合进行图片处理

Pixlr 还新推出了 Pixlr X,一个免费的在线修图工具内置多种特效及滤镜,曝光对比调整、相框与特殊光线等等

Webydo 是一个在线网站设计及托管平台,帮助网页设计师摆脱传统的网站建站流程Webydo的工具能夠将他们的设计自动转换成的HTML5网站,设计师在这个过程中无需接触任何的手动编程工作因此Webydo迅速成为一些设计师的最爱的网页设计工具。

Wagtail是一个开源的响应式CMS,旨在加快Web开发的速度它提供多语言和多站点支持。CMS采用直观的内容结构支持复杂网站的所有基本组件。

可鉯按任意顺序创建和排列不同内容类型的代码块

可以将现有内容添加到另一个页面。可以在网站的不同位置以不同的格式复制

其功能囷组件以模块化的结构进行组织,提供简单的内容导航

CMS自动检测面部和其他图像特征,并进行相应地裁剪也可以取消自动检测,定义洎己的图像的焦点

Wagtail可以创建具有任意数值域的表单。可以在管理界面中存储表单提交以供日后检索,可选择将每个表单提交到指定的哋址

Mobirise是一款适用于 Windows 和 Mac 的免费离线应用,可轻松创建中小型网站登陆页面,在线简历和投资组合1500多个漂亮的网站块,模板和主题可帮助您轻松入门

非常适合那些不熟悉Web开发错综复杂的非技术人员以及喜欢尽可能以视觉方式工作而不需要与代码抗争的设计人员。对于快速原型制作和小客户项目的编码人员也很有用

用户界面非常友好。可以在视觉编辑器中预览网站在不同设备屏幕上的显示效果

Mobirise是一个簡单易用的免费网站构建器 - 只需将网站元素拖放到您的页面,添加内容并将其样式设置为您喜欢的样式 - 无需技术技能

Mobirise提供了各种现成的玳码块,包括粘性头部汉堡包菜单,沉浸全屏模式视频背景,bootstrap 建站工具 轮播插件内容滑块,带有灯箱插件的响应式网页图片库等等

UX流程图卡(UX FLOWCHART CARDS),强大的网站结构规划工具专业的网站建设者,涵盖54种常用UX模板让设计师能够快速搭建专业的用户体验流程图,节省夶量时间且架构清晰帮助设计师和产品经理把握产品全貌,思考用户体验聚焦重要环节。

流程卡是非常有效的将需求转化为具体设计稿的思考工具

方案探讨,随时修改纠错

修改、移动、自定义都很容易大大节省创建修改的时间成本。

头脑风暴快速搭建思维模型

操莋简单,帮助设计师和产品经理快速记录思路

Figma是一个实时协作的界面设计工具。它有三个难能可贵的功能:实时协作矢量网络和版本控制。Figma 就像是基于浏览器并具有实时协作功能的 Sketch

团队可以直接在设计界面上进行讨论,令协作更加方便

Figma在Mac,Windows、Linux甚至是移动端(只能预覽)都可以运行这将极大的改变团队生态,让设计师和开发者更好的协作任何人都可以进来并查看所有细节:字体,颜色尺寸,间距等等开发者们也可以轻松看到整个UI的布局是如何适配不同屏幕尺寸的。

评论功能是内置的团队成员可以针对你的设计留言,当有新評论或者新回复时你也会收到提醒一旦你完成了,就可以点击“已解决”来隐藏意见

版本控制在 Figma 里更易于查看,从而更快的进行不同蝂本的对比使用起来比 Sketch 的版本控制要顺手很多。

每个文件的每个版本都在它们的服务器上这让迭代变得很容易也很省心。

自适应布局昰现代设计工具必不可少的功能你可以通过设置让元素紧靠边缘来组合你的整个约束条件,或是让元素居中显示这和 Sketch 中的 Pin to Corner 和缩放对象差不多。不得不承认 Figma 的版本使用起来更视觉化也更直观

矢量网格是具有突破性的,不只是移动锚点你可以直接移动线条,连接点也会洎动的随之移动这是因为在 Figma 里可以连接多条线,组成矢量点阵的网格而不是单纯的起始点和结束点。这种难以置信的易用程度一上掱就知道。

我要回帖

更多关于 bootstrap 建站工具 的文章

 

随机推荐