1. 程式人生 > 其它 >用Raspberry Pi Zero打造「即插即用」的Web伺服器

用Raspberry Pi Zero打造「即插即用」的Web伺服器

*本文原創作者:yfgeek,未經許可禁止轉載

雖然Raspberry Pi Zero只有4.5英鎊,非常便宜,但確實具有侷限性,由於缺少網口、WiFi,功能比較單一,可曾設想,用Raspberry Pi Zero打造一個完美的“即插即用”的Web伺服器?

何為即插即用?

類似於優盤一樣,插上電腦,等待幾秒,直接識別為網絡卡,直接輸入樹莓派的網址,連線就是自己的網站。

那麼,問題來了,有什麼用?

實現本地web本地化,隨著前端、後端技術的發展,web應用越來越多,但是web應用受制於網路的限制,一旦沒有網路,就沒有用武之地。

那麼為什麼不把web本地化呢?以後拿著“即插即用”的伺服器,到任何電腦上,都能隨時辦公。

安裝

我們可以把樹莓派虛擬為網絡卡,然後在內網連線它。

1.下載完整版 Raspbian Jessie 或 Raspbian Jessie Lite 系統,並且刷到你的SD Card裡,Windows用Win32 Disk Imager, Mac/Linux 用命令,如下:

diskutil list diskutil unmountDisk /dev/SD卡的標號 #如disk2cd /Users/ivan/Downloads/2016-11-25-raspbian-jessie #進入目錄sudo dd bs=1m if=2016-11-25-raspbian-jessie.img of=/dev/rdisk2

2.刷好系統後編輯config.txt檔案,在最後一行下,另起一行新增:

dtoverlay=dwc2

儲存檔案

3.最後,開啟cmdline.txt檔案。找到單詞rootwait,在其之後新增:

modules-load=dwc2,g_ether

4.新增一個檔名為ssh到根目錄下,內容為空

5.把SD Card放到樹莓派Zero,用安卓資料線與電腦連線,USB口接OTG口,等待60-90s,電腦會發現網絡卡並且自動配置ip地址。

6.Ping 一下raspberrypi.local看是否能通

PING raspberrypi.local (169.254.70.245): 56 data bytes64 bytes from 169.254.70.245: icmp_seq=0 ttl=64 time=0.570 ms64 bytes from 169.254.70.245: icmp_seq=1 ttl=64 time=0.338 ms64 bytes from 169.254.70.245: icmp_seq=2 ttl=64 time=0.316 ms64 bytes from 169.254.70.245: icmp_seq=3 ttl=64 time=0.344 ms

配置

1.ssh連線raspberrypi.local,預設密碼為raspberry

[email protected]

2.通過直接執行raspi-config命令

你需要做

容量擴充套件 更改系統時區 更改系統密碼

3.同時你需要通過執行sudo passwd root更改root密碼

4.在本機設定代理

首先,設定本機名為Mac,在本機搭建一個squid,為了使樹莓派安裝web server,以後日常使用不需要。

brew updatebrew install squid

5.然後下載SquidMan,安裝。在本機開啟埠為8080的HTTP代理服務,並把本機名稱更為Mac。

6.進入樹莓派的shell,輸入:

cd /etc/apt/apt.conf.d sudo vi 50raspi

最後一行加入一句話:

Acquire::http::Proxy "http://Mac.local:8080";

儲存

7.繼續輸入apt-get update檢視是否有網路。

8.安裝lighthttpd+mysql+php

輸入:

sudo apt-get install lighttpd mysql-server php5-cgi php5-mysql

等待安裝完畢後,修改php.ini設定

sudo nano /etc/php5/cgi/php.ini

去掉這一條註釋的;

;cgi.fix_pathinfo = 1

隨後修改lighttpd.conf

sudo nano /etc/lighttpd/lighttpd.conf

server.modules中增加fastcgi

server.modules = ("mod_access","mod_alias","mod_compress",# "mod_redirect","mod_fastcgi",# "mod_rewrite",)

最後新增

fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket")))

重啟lighttpd服務

sudo /etc/init.d/lighttpd restart

通過scp協議,上傳一個index.php檔案

<?phpphpinfo();?>

刪除預設的index.htm檔案,開啟網站http://自己樹莓派名字.local檢視是否成功。

不錯,接下來的事情,就是把自己的原始碼傳到樹莓派上,不過多敘述。

多說一句

從此以後,你只需要帶上你的樹莓派Zero就可以隨時隨地的開啟自己的私有web服務。但是,樹莓派Zero的效能,確實不行,建議跑一跑小型的程式,不要跑太大的程式。

至於應用嘛,其實做什麼都可以的。

*本文原創作者:yfgeek,轉載請註明來自FreeBuf.COM