你是否知道,樹莓派擁有完美結(jié)合的硬件與軟件,可以讓你在家搭建網(wǎng)站?不過,如果你對網(wǎng)絡(luò)技術(shù)還不熟悉,可能會被那些專業(yè)術(shù)語嚇到。因此,在本文中,我將用最通俗易懂的語言——即人與人之間的交流方式——來進行解釋。
要在樹莓派上搭建網(wǎng)站,你必須安裝一個網(wǎng)絡(luò)服務(wù)器來提供頁面服務(wù)。同時,樹莓派必須接入互聯(lián)網(wǎng),以便訪客能夠找到你的網(wǎng)站。
本文并非技術(shù)深度剖析,而是一份綜合指南。對于每一步,我都會提供我們教程的鏈接,以便你能夠分別進行深入學(xué)習(xí)。完成每個部分后,你可以回到這里繼續(xù)你的旅程。穩(wěn)扎穩(wěn)打,逐步推進!
概述
想象一下,一個典型的網(wǎng)站用戶,像1999年那樣在網(wǎng)上沖浪。如果我們從宏觀角度出發(fā),實現(xiàn)HTTP服務(wù)將會更加容易。
以下是在樹莓派上創(chuàng)建網(wǎng)站所需的大致步驟:
在樹莓派上安裝網(wǎng)絡(luò)服務(wù)器。
為你的網(wǎng)站創(chuàng)建新頁面。
讓互聯(lián)網(wǎng)上的訪客能夠訪問你的網(wǎng)站。
在樹莓派上采取安全措施,防止惡意攻擊。
使用下面的目錄直接跳轉(zhuǎn)到你感興趣的部分:
目錄
概述
在樹莓派上搭建網(wǎng)站所需的硬件要求
如何在樹莓派上獲取網(wǎng)絡(luò)服務(wù)器
如何創(chuàng)建網(wǎng)站頁面
如何讓網(wǎng)站在線可用
在樹莓派上搭建網(wǎng)站的安全措施
相關(guān)問題
在樹莓派上搭建網(wǎng)站所需的硬件要求
要在你的樹莓派上搭建網(wǎng)站,以下是所需的硬件列表:
樹莓派:我通常推薦較新的型號,如樹莓派5或Pi 4,但較舊的板子也應(yīng)該能夠很好地運行網(wǎng)絡(luò)服務(wù)器。
內(nèi)存:至少512 MB RAM。查看你的內(nèi)存大小。
存儲:推薦256 MB磁盤空間或更多。你可以使用我目前最喜歡的SD卡、USB驅(qū)動器或NVME驅(qū)動器。
網(wǎng)絡(luò):為了速度和穩(wěn)定的在線時間,我推薦使用以太網(wǎng)連接。
如果你只是想嘗試一下,Wi-Fi也是可行的。
現(xiàn)在硬件問題已經(jīng)解決了,讓我們開始安裝一些軟件吧。
如何在樹莓派上獲取網(wǎng)絡(luò)服務(wù)器
在本節(jié)中,你將安裝運行網(wǎng)站所需的關(guān)鍵軟件包。具體來說,你將學(xué)習(xí)如何:
安裝網(wǎng)絡(luò)服務(wù)器。
添加常見的網(wǎng)站組件以獲得高級功能。
為你的網(wǎng)站創(chuàng)建頁面。
1. 安裝網(wǎng)絡(luò)服務(wù)器
網(wǎng)絡(luò)服務(wù)器是樹莓派上用于在訪客訪問時提供頁面的應(yīng)用程序。它從你的文件中發(fā)送HTML代碼和圖像,以便在網(wǎng)頁瀏覽器中顯示頁面。
兩個最受歡迎的網(wǎng)絡(luò)服務(wù)器是:Apache和Nginx。
你應(yīng)該選擇哪一個?簡短回答:對于在家自建的網(wǎng)站來說,可能并無太大差別,因為它們都能在樹莓派上良好運行。讓我們簡要了解一下兩者。
Apache
Apache是傳統(tǒng)的網(wǎng)絡(luò)服務(wù)器,擁有最多的社區(qū)指南。
Nginx
如果你更喜歡成為先鋒,Nginx是更新的選擇,設(shè)計用于更高的性能。
幸運的是,我們已經(jīng)為兩者都編寫了指南。選擇一個并安裝它以開始使用。
2. 安裝可選的網(wǎng)絡(luò)服務(wù)器組件

如果你的頁面是基本且靜態(tài)的(不會改變),那么網(wǎng)絡(luò)服務(wù)器就足夠了。也許它展示了你拍攝的機器人圖片并分享了你的電子郵件地址。但那種設(shè)計理念已經(jīng)是Web 1.0時代的思維了,幾乎可以說是恐龍時代了。
如今,網(wǎng)站是動態(tài)的。
例如,你可能希望允許用戶登錄、在你的機器人視頻上留言或?qū)Χㄆ诟碌男滦」ぞ咝畔⑦M行排序。因此,為了實現(xiàn)動態(tài)內(nèi)容,你需要在網(wǎng)絡(luò)服務(wù)器上安裝額外的組件。
這些額外部分共同工作,被稱為你的網(wǎng)站棧。
因此,你并不總是會聽到Apache與Nginx的討論。相反,你可能會看到LAMP與LEMP的對比。
以下是這些術(shù)語的含義:
LAMP棧:Linux + Apache + MySQL + PHP
https://raspberrytips.com/web-server-setup-on-raspberry-pi/
LEMP棧:Linux + Nginx(發(fā)音為“Engine-X”) + MySQL + PHP
https://raspberrytips.com/nginx-on-raspberry-pi/
你已經(jīng)有了Linux部分,因為你在樹莓派上運行的就是它。如果你完成了上面的步驟,你已經(jīng)有了網(wǎng)絡(luò)服務(wù)器。
所以接下來,讓我們安裝你的棧中的PHP和MySQL部分。
集成PHP以運行網(wǎng)頁代碼
PHP是一種在網(wǎng)頁上運行代碼的編程語言。
HTML顯示基本網(wǎng)頁,但PHP讓這些頁面能夠執(zhí)行高級功能。
例如,你可以使用PHP編寫一個頁面,根據(jù)用戶的點擊動態(tài)改變顯示內(nèi)容。例如,在特色幻燈片中展示不同的機器人套件。只顯示有貨的樹莓派HAT。諸如此類。
我確信你聽說過其他編程語言,如Python、C++或Node.js,是的,你也可以在你的網(wǎng)站上運行它們。
但PHP是為網(wǎng)絡(luò)設(shè)計的。它只需一行代碼更改即可與你的網(wǎng)絡(luò)服務(wù)器集成。換句話說,這是最常見且簡單的方法。當(dāng)我在新服務(wù)器上安裝Apache或Nginx時,我都會安裝PHP。
在我們的LAMP和LEMP教程中,你將:
在樹莓派上安裝PHP。
通過修改網(wǎng)絡(luò)服務(wù)器的配置文件來集成PHP。
在繼續(xù)之前,請先完成這些步驟。
添加數(shù)據(jù)庫以存儲數(shù)據(jù)
將數(shù)據(jù)庫視為網(wǎng)絡(luò)的高級電子表格。
網(wǎng)絡(luò)服務(wù)器從數(shù)據(jù)庫中提取信息以在頁面上顯示。
現(xiàn)代網(wǎng)站存儲大量數(shù)據(jù):從用戶名/密碼到購物網(wǎng)站的庫存列表。組織這些數(shù)據(jù)的最有效方法是使用表格,而管理這些表格的最佳方法是使用數(shù)據(jù)庫。
如果我在數(shù)據(jù)庫中更改信息,比如樹莓派AI套件的價格,那么任何使用該數(shù)據(jù)庫的頁面都會自動更新這一新信息。這比更改每個頁面的HTML要高效得多,也更具有未來證明性。
通常的做法是在網(wǎng)絡(luò)服務(wù)器旁邊安裝數(shù)據(jù)庫。
樹莓派上有許多數(shù)據(jù)庫可供選擇。
讓我們來看看兩個最容易為你的網(wǎng)站安裝的數(shù)據(jù)庫。
MySQL
對于大多數(shù)人來說,他們最初最常聽到的數(shù)據(jù)庫是MySQL。
在網(wǎng)站托管世界中,MySQL長期以來一直是免費的數(shù)據(jù)庫標(biāo)準(zhǔn)。
我們的Apache或Nginx指南都包含了安裝MySQL的說明:
LAMP棧上的MySQL
LEMP棧上的MySQL
MariaDB
然而,最近,樹莓派操作系統(tǒng)和其他Linux發(fā)行版已經(jīng)開始轉(zhuǎn)向一個新的默認(rèn)數(shù)據(jù)庫:MariaDB。
MariaDB是由最初開發(fā)MySQL的同一開發(fā)者制作的。它更高效且占用空間更小,非常適合在樹莓派上節(jié)省資源。
你應(yīng)該選擇哪個數(shù)據(jù)庫?我推薦在樹莓派上使用MariaDB。
一旦安裝,MariaDB的關(guān)鍵命令與MySQL完全相同。
因此,你將獲得更好的性能,但舊的知識和指南仍然適用。
閱讀我們的指南開始使用:如何在樹莓派上安裝MariaDB?(MySQL服務(wù)器)。
https://raspberrytips.com/install-mariadb-raspberry-pi/
提示:通過命令行管理數(shù)據(jù)庫可能會非常麻煩。要從瀏覽器中直觀地編輯表格,請嘗試使用phpMyAdmin。我們上面的一些教程包含了如何安裝phpMyAdmin的部分。
如何創(chuàng)建網(wǎng)站頁面
恭喜你,你已經(jīng)擁有了你的網(wǎng)站棧!現(xiàn)在該怎么辦呢?
在本節(jié)中,我將分享幾種為你的網(wǎng)站創(chuàng)建頁面的方法。
手動HTML編碼
你可以使用純文本從頭開始編寫HTML。
也稱為“困難模式”。這是一種很好的學(xué)習(xí)方式,但非常耗時。
我已經(jīng)很久沒有這樣做了。
HTML編輯器
也稱為WYSIWYG編輯器,這些應(yīng)用程序允許你從圖形界面創(chuàng)建網(wǎng)頁。
例如,Adobe Dreamweaver、Visual Studio Code和其他編輯器都包含工具,可以幫助你更高效地編寫網(wǎng)站代碼并在制作時預(yù)覽頁面。
https://raspberrytips.com/install-visual-studio-code-raspberry-pi/

注意:如果你從PC上使用這些應(yīng)用程序,完成后你需要將頁面/圖像傳輸?shù)侥愕臉漭缮稀榇?,你可以使?a href="http://www.makelele.cn/tags/te/" target="_blank">Termius的SFTP或設(shè)置你自己的FTP服務(wù)器。
內(nèi)容管理系統(tǒng)
如果使用上述方法制作網(wǎng)頁聽起來仍然太麻煩,現(xiàn)在你就知道為什么許多公司更喜歡使用內(nèi)容管理系統(tǒng)(CMS)了。
CMS是一個在你的網(wǎng)站本身上運行網(wǎng)站構(gòu)建器。
它允許你直接從瀏覽器創(chuàng)建頁面并發(fā)布它們。

像我這樣快速啟動網(wǎng)站的首選方法是使用CMS如WordPress。我可以選擇一個保持設(shè)計一致的主題,并使用插件來處理高級功能。
它從一開始就運行在網(wǎng)絡(luò)服務(wù)器上,所以這讓我能夠?qū)W⒂诠芾韮?nèi)容,而不是整天擺弄服務(wù)器。
如何讓網(wǎng)站在線可用
現(xiàn)在你已經(jīng)在樹莓派上設(shè)置了一個運行中的網(wǎng)絡(luò)服務(wù)器。但你的網(wǎng)站可能無法從你家以外的地訪問。在本節(jié)中,我將展示如何使其通過互聯(lián)網(wǎng)可訪問。
在測試期間,你可能通過訪問樹莓派的本地IP地址來查看你的頁面。例如,你可能在瀏覽器中輸入了類似http://192.168.1.10的地址。
你家以外的人需要你的公共IP地址才能訪問你的網(wǎng)站。
你的公共IP地址是由你的互聯(lián)網(wǎng)服務(wù)提供商(ISP)分配的。但如果你的朋友現(xiàn)在嘗試訪問它,她可能會發(fā)現(xiàn)你的網(wǎng)站無法連接。
這是怎么回事呢?
有以下三個障礙擋住了訪問:
你的互聯(lián)網(wǎng)路由器有一個防火墻,會阻止陌生人訪問。
如果用戶確實訪問了,他們需要被引導(dǎo)到樹莓派才能看到網(wǎng)站。
你的ISP可能會定期更改你的公共IP地址。
我將使用家庭網(wǎng)絡(luò)技術(shù)向你展示如何逐一解決這些問題。
1. 為樹莓派分配靜態(tài)IP地址
首先,你希望樹莓派在你家庭網(wǎng)絡(luò)上的IP地址保持一致。
你的路由器會為家庭中的設(shè)備分配本地IP地址。每次樹莓派重啟時,這個地址可能會不同。這種隨機性對于網(wǎng)站來說是個麻煩。
靜態(tài)IP地址使路由器更容易將流量發(fā)送到樹莓派。
有不同的方法可以實現(xiàn)這一點。我最喜歡的方法是在路由器的管理面板中設(shè)置它。
遵循我們的指南:在樹莓派上設(shè)置靜態(tài)IP地址。
樹莓派“定居”完全指南:一鍵設(shè)置靜態(tài)IP,穩(wěn)定又高效!
2. 激活到樹莓派的端口轉(zhuǎn)發(fā)

接下來,你希望打開路由器的防火墻以允許網(wǎng)絡(luò)流量到達你的樹莓派。
在路由器上設(shè)置端口轉(zhuǎn)發(fā)規(guī)則,以告訴公共訪客該去哪里。我們希望路由器將用戶從網(wǎng)頁瀏覽器引導(dǎo)到你的樹莓派。
打開路由器的管理面板進行設(shè)置。你將希望創(chuàng)建端口轉(zhuǎn)發(fā)規(guī)則,將端口80(用于http://)和端口443(用于https://)上的TCP流量發(fā)送到樹莓派的靜態(tài)IP地址。
我們沒有關(guān)于端口轉(zhuǎn)發(fā)的獨立指南,但我會在下一個部分中鏈接到一個包含如何進行操作的指南。
3. 獲取域名

最后,你將希望有一個域名來提供給訪客。
當(dāng)然,你可以提供你的公共IP(如94.140.14.14),但誰會記住那個呢?另外,請記住,你的ISP可以隨時更改你的IP地址。
這就是域名(如raspberrytips.com)派上用場的地方。域名是恒定的,所以即使你的公共IP更改了,訪客仍然知道在哪里找到你的網(wǎng)站。
你可以購買一個域名,這樣聽起來更悅耳,看起來也更專業(yè)。但如果你只是想試試水,你可以獲取一個免費域名來開始。
遵循我們的指南:安裝No-IP以在樹莓派上獲取免費域名。
https://raspberrytips.com/install-no-ip-raspberry-pi/
如果你已經(jīng)完成了上面的步驟,以下是它是如何工作的。訪客瀏覽你的域名并被發(fā)送到你家的公共IP。你的路由器將流量轉(zhuǎn)發(fā)到你的樹莓派。樹莓派的網(wǎng)絡(luò)服務(wù)器發(fā)送頁面以在瀏覽器中顯示。太棒了!
在樹莓派上搭建網(wǎng)站的安全措施
當(dāng)然,將你的樹莓派暴露在更廣泛的互聯(lián)網(wǎng)上絕不應(yīng)該掉以輕心!
互聯(lián)網(wǎng)上漫游的機器人團伙不斷掃描目標(biāo)進行黑客攻擊,而你的樹莓派和網(wǎng)站是誘人的目標(biāo)。你將希望加強你的服務(wù)器,這意味著加強其安全性。
原文鏈接:
https://raspberrytips.com/host-website-raspberry-pi/
-
服務(wù)器
+關(guān)注
關(guān)注
14文章
10251瀏覽量
91480 -
網(wǎng)站
+關(guān)注
關(guān)注
2文章
262瀏覽量
24070 -
樹莓派
+關(guān)注
關(guān)注
122文章
2078瀏覽量
110457
發(fā)布評論請先 登錄
免費自助建站系統(tǒng),輕松搭建你的網(wǎng)站或博客
樹莓派可以做什么?
如何創(chuàng)建網(wǎng)站
購買虛擬主機后如何使用_免費虛擬主機怎么搭建網(wǎng)站
使用開源CMS系統(tǒng)所搭建的網(wǎng)站安全嗎
vps搭建wordpress網(wǎng)站的3個步驟介紹
建站空間選多大的適合,簡單來分析一下
如何搭建樹莓派RFID考勤系統(tǒng)?
華為云云速建站,助力企業(yè)搭建網(wǎng)站省心又省力
復(fù)古電視MakeCode街機(樹莓派零)
如何三步實現(xiàn)高性能 WordPress 網(wǎng)站的部署
虛擬主機為什么不適合搭建網(wǎng)站?
零成本升級:把吃灰的樹莓派刷成路由器!
零成本建站!使用樹莓派在家搭建網(wǎng)站:分步指南!
評論