适用于树莓派的非常简单的 HTML 服务器

适用于树莓派的非常简单的 HTML 服务器

我在 raspberry pi 2 b+ 上运行 Ubuntu mate。我想让它托管一个 HTMl 文件。我的问题是我的资源不足。例如,我的主要使用程序全天候运行,没有剩余内存来启动 Firefox,所以我需要一个轻量级的解决方案。我不需要一个复杂的网站,只要有人访问时返回此 sample.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 文件的路径。

相关内容