![适用于树莓派的非常简单的 HTML 服务器](https://linux22.com/image/1052677/%E9%80%82%E7%94%A8%E4%BA%8E%E6%A0%91%E8%8E%93%E6%B4%BE%E7%9A%84%E9%9D%9E%E5%B8%B8%E7%AE%80%E5%8D%95%E7%9A%84%20HTML%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我在 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
资源角度来看是一个不错的选择。
使用安装
sudo apt-get install nginx-light nginx-common
还有一个
nginx-full
带来更多功能的包,但我不认为这里需要它。安装完成后,服务器将自动启动。你可以使用以下命令来控制它
sudo service nginx start/stop/restart/...
如果您现在浏览 Raspi 的地址,您将已经看到正在提供的页面(“欢迎使用 nginx...”)
您看到的欢迎页面由 提供
/var/www/html
。配置存储在 中/etc/nginx
。如果您很懒,想要快速解决问题,只需将您的文件放入此文件夹
index.html
即可。默认情况下,将提供文档。如果不存在,则将提供文档树。该目录当然包含欢迎页面。首先将其移开。如果您想从其他文件夹提供文件,请继续阅读。存在两个目录
/etc/nginx/sites-available /etc/nginx/sites-enabled
第一个文件保存实际的配置文件,而第二个文件包含指向这些配置站点的链接。这些链接告诉 nginx 处理配置并为站点提供服务。
为了实现您的目标,只需稍微调整一下现有配置即可。
首先,删除符号链接
default
sudo rm /etc/nginx/sites-enabled/default
因此服务器默认不会提供欢迎页面。
现在复制
default
并修改它cd /etc/nginx/sites-available sudo cp default mysite
随便取一个你喜欢的名字
mysite
。使用编辑器打开文件。大多数设置都很好,但您需要进行调整,
root
以便它指向包含要提供的文件的目录。这基本上就是您需要做的全部工作,但有一个选项非常有用:index
:当文档根目录http://服务器/被浏览。使用以下方法重新加载配置
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 文件的路径。