ラズベリーパイ用の本当にシンプルな HTML サーバー

ラズベリーパイ用の本当にシンプルな HTML サーバー

私はRaspberry Pi 2 B+でUbuntu Mateを実行しています。HTMlファイルをホストしたいと思っています。問題はリソースが不足していることです。たとえば、24時間365日稼働しているメインのプログラムでは、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 のアドレスにアクセスすると、すでに提供されているページ ("Welcome to nginx...") が表示されます。

  2. 表示されるウェルカム ページは から提供されます/var/www/html。設定は に保存されます/etc/nginx

    面倒で手っ取り早い解決法が欲しい場合は、ファイルをこのフォルダに入れるだけです。デフォルトではドキュメントがindex.html提供されます。存在しない場合は、代わりにドキュメント ツリーが提供されます。ディレクトリには、もちろん welcome ページが含まれています。まず、これを移動してください。別のフォルダからファイルを提供したい場合は、読み進めてください。

    2つのディレクトリが存在する

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

    最初のディレクトリには実際の設定ファイルが保存され、2 番目のディレクトリには設定サイトへのリンクが含まれています。これらのリンクは、nginx に設定を処理してサイトを提供するように指示します。

目標を達成するには、既存の構成を少し調整するだけで十分です。

  1. まず、シンボリックリンクを削除しますdefault

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

    そのため、サーバーはデフォルトではウェルカム ページを提供しません。

  2. defaultそれをコピーして変更します

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

    好きな名前を付けてくださいmysite

  3. ファイルをエディターで開きます。設定のほとんどは問題ありませんが、root提供したいファイルを含むディレクトリを指すように調整する必要があります。基本的に必要なのはこれだけですが、1 つのオプションが非常に便利です。

    index: ドキュメントルートがhttp://サーバー/閲覧されます。

  4. 設定をリロードします

    sudo service nginx reload
    

    そして、Pi が Web ページを提供するはずです。

答え2

nginx軽量のウェブサーバーで、Raspi上でも問題なく動作します

sudo apt-get -y nginxをインストール

デフォルトのページを/var/www/htmlの下に置く

設定するには/etc/nginx/nginx.confを編集する

答え3

パッケージをインストールしますnetcat-openbsd。これにより、次のシェル スクリプトによって、あらゆる要求に対して常に を返す非常に単純な 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 ファイルのパスに置き換えます。

関連情報