非常簡單的樹莓派 HTML 伺服器

非常簡單的樹莓派 HTML 伺服器

我在我的 raspberry pi 2 b+ 上運行 Ubuntu mate。我想讓它託管一個 HTMl 檔案。我的問題是我的資源不足。例如,我的主要使用程式每天 24/7 運行,沒有剩餘記憶體來啟動 Firefox,所以我需要一個輕量級的解決方案。我不需要一個複雜的網站,只需要在有人造訪時返回此 example.html 檔案的網站http://192.168.178.8(作為樣本)

答案1

我認為您實際上只是想在 Raspi 上閱讀 HTML 文檔,但係統沒有足夠的內存來啟動其預設瀏覽器 Firefox。

您可以嘗試更輕量級的瀏覽器,例如midori.安裝與

sudo apt-get install midori


如果您確實需要向本機 LAN 提供頁面,則需要安裝 Web 伺服器。nginx從資源角度來說是不錯的選擇。

  1. 安裝它

    sudo apt-get install nginx-light nginx-common
    

    還有一個nginx-full包帶來了更多功能,但我認為這裡不需要。

    安裝完成後,伺服器應該會自動啟動。你可以用以下命令控制它

    sudo service nginx start/stop/restart/...
    

    如果您現在瀏覽到 Raspi 的地址,您將已經看到一個正在提供服務的頁面(「歡迎來到 nginx...」)

  2. 您看到的歡迎頁面由 提供/var/www/html。配置儲存在/etc/nginx.

    如果您很懶並且想要快速修復,只需將文件放入此資料夾即可。預設index.html會送達文件。如果不存在,則會提供文件樹。目錄當然包含歡迎頁面。首先將其移開。如果您想從不同的資料夾提供文件,請繼續閱讀。

    存在兩個目錄

    /etc/nginx/sites-available
    /etc/nginx/sites-enabled
    

    第一個包含實際的配置文件,而第二個包含指向這些配置網站的連結。這些連結告訴 nginx 處理配置並為網站提供服務。

為了您的目標,稍微調整現有配置就足夠了。

  1. 首先,刪除符號鏈接default

    sudo rm /etc/nginx/sites-enabled/default
    

    因此伺服器預設不會提供歡迎頁面。

  2. 現在複製default並修改它

    cd /etc/nginx/sites-available
    sudo cp default mysite
    

    無論如何命名它,都比 更好mysite

  3. 使用編輯器開啟檔案。大多數設定都很好,但您需要進行調整root,使其指向包含您要提供服務的檔案的目錄。這基本上就是您需要做的全部事情,但有一個選項非常有用:

    index:當文檔根目錄時服務哪個文檔http://伺服器/已瀏覽。

  4. 重新載入配置

    sudo service nginx reload
    

    您的 Pi 應該可以為您的網頁提供服務!

答案2

nginx是一個輕量級的Web伺服器,在Raspi上運作良好

sudo apt-get -y 安裝 nginx

將預設頁面放在 /var/www/html 下

配置編輯/etc/nginx/nginx.conf

答案3

安裝包netcat-openbsd。這樣,下面的 shell 腳本就會為您提供一個非常簡單的 Web 伺服器,它總是會傳回您的sample.html任何請求。

請注意,它無法提供任何其他文件,例如圖像、CSS 文件或類似文件。

#!/bin/sh

while (
printf "HTTP/1.1 200 OK\r\n"
printf "Content-Type: text/html\r\n"
printf "\r\n"
cat /path/to/sample.html
) | nc -l 80 >/dev/null; do echo; done

替換/path/to/sample.html為實際 HTTP 檔案的路徑。

相關內容