查看: 2626|回复: 0

[项目] 用Raspberry Pi Zero打造“即插即用”的Web服务器

[复制链接]
  • TA的每日心情
    擦汗
    2018-10-18 15:28
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2018-10-22 16:11:01 | 显示全部楼层 |阅读模式
    分享到:
    虽然Raspberry Pi Zero只有4.5英镑,非常便宜,但确实具有局限性,由于缺少网口、WiFi,功能比较单一,可曾设想,用Raspberry Pi Zero打造一个完美的“即插即用”的Web服务器?

    何为即插即用?

    类似于优盘一样,插上电脑,等待几秒,直接识别为网卡,直接输入树莓派的网址,连接就是自己的网站。
    1.jpg

    那么,问题来了,有什么用?

    实现本地web本地化,随着前端、后端技术的发展,web应用越来越多,但是web应用受制于网络的限制,一旦没有网络,就没有用武之地。

    那么为什么不把web本地化呢?以后拿着“即插即用”的服务器,到任何电脑上,都能随时办公。

    安装

    我们可以把树莓派虚拟为网卡,然后在内网连接它。

    1.下载完整版 Raspbian Jessie 或 Raspbian Jessie Lite 系统,并且刷到你的SD Card里,Windows用Win32 Disk Imager, Mac/Linux 用命令,如下:
    1. diskutil list
    2. diskutil unmountDisk /dev/SD卡的标号 #如disk2
    3. cd /Users/ivan/Downloads/2016-11-25-raspbian-jessie #进入目录
    4. sudo dd bs=1m if=2016-11-25-raspbian-jessie.img of=/dev/rdisk2
    复制代码

    2.刷好系统后编辑config.txt文件,在最后一行下,另起一行添加:
    1. dtoverlay=dwc2
    复制代码
    保存文件

    3.最后,打开cmdline.txt文件。找到单词rootwait,在其之后添加:
    1. modules-load=dwc2,g_ether
    复制代码

    4.添加一个文件名为ssh到根目录下,内容为空

    5.把SD Card放到树莓派Zero,用安卓数据线与电脑连接,USB口接OTG口,等待60-90s,电脑会发现网卡并且自动配置ip地址。
    2.jpg

    6.Ping 一下raspberrypi.local看是否能通
    1. PING raspberrypi.local (169.254.70.245): 56 data bytes
    2. 64 bytes from 169.254.70.245: icmp_seq=0 ttl=64 time=0.570 ms
    3. 64 bytes from 169.254.70.245: icmp_seq=1 ttl=64 time=0.338 ms
    4. 64 bytes from 169.254.70.245: icmp_seq=2 ttl=64 time=0.316 ms
    5. 64 bytes from 169.254.70.245: icmp_seq=3 ttl=64 time=0.344 ms
    复制代码

    配置

    1.ssh连接raspberrypi.local,默认密码为raspberry
    1. pi@raspberrypi.local
    复制代码

    2.通过直接运行raspi-config命令
    你需要做容量扩展、更改系统时区、更改系统密码

    3.同时你需要通过执行sudo passwd root更改root密码

    4.在本机设置代理

    首先,设置本机名为Mac,在本机搭建一个squid,为了使树莓派安装web server,以后日常使用不需要。
    1. brew update
    2. brew install squid
    复制代码

    5.然后下载SquidMan,安装。在本机开启端口为8080的HTTP代理服务,并把本机名称更为Mac。

    6.进入树莓派的shell,输入:
    1. cd /etc/apt/apt.conf.d
    2. sudo vi 50raspi
    复制代码
    最后一行加入一句话:
    1. Acquire::http::Proxy "http://Mac.local:8080";
    复制代码
    保存

    7.继续输入apt-get update查看是否有网络。

    8.安装lighthttpd+mysql+php

    输入:
    1. sudo apt-get install lighttpd mysql-server php5-cgi php5-mysql
    复制代码

    等待安装完毕后,修改php.ini设置
    1. sudo nano /etc/php5/cgi/php.ini
    复制代码
    去掉这一条注释的;
    1. ;cgi.fix_pathinfo = 1
    复制代码
    随后修改lighttpd.conf
    1. sudo nano /etc/lighttpd/lighttpd.conf
    复制代码
    在server.modules中增加fastcgi
    1. server.modules = (
    2. "mod_access",
    3. "mod_alias",
    4. "mod_compress",
    5. # "mod_redirect",
    6. "mod_fastcgi",
    7. # "mod_rewrite",
    8. )
    复制代码

    最后添加
    1. fastcgi.server = ( ".php" => ((
    2.     "bin-path" => "/usr/bin/php5-cgi",
    3.     "socket" => "/tmp/php.socket"
    4. )))
    复制代码
    重启lighttpd服务
    1. sudo /etc/init.d/lighttpd restart
    复制代码
    通过scp协议,上传一个index.php文件
    1. <?php
    2. phpinfo();
    3. ?>
    复制代码
    删除默认的index.htm文件,打开网站http://自己树莓派名字.local查看是否成功。
    3.jpg
    不错,接下来的事情,就是把自己的源代码传到树莓派上,不过多叙述。

    多说一句

    从此以后,你只需要带上你的树莓派Zero就可以随时随地的打开自己的私有web服务。但是,树莓派Zero的性能,确实不行,建议跑一跑小型的程序,不要跑太大的程序。
    4.jpg

    至于应用嘛,其实做什么都可以的。






    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 03:46 , Processed in 0.111477 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.