私は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
リソースの観点からは良い選択です。
インストールするには
sudo apt-get install nginx-light nginx-common
より多くの機能を提供するパッケージもあります
nginx-full
が、ここでは必要ないと思います。インストールが完了すると、サーバーは自動的に起動します。
sudo service nginx start/stop/restart/...
ここで Raspi のアドレスにアクセスすると、すでに提供されているページ ("Welcome to nginx...") が表示されます。
表示されるウェルカム ページは から提供されます
/var/www/html
。設定は に保存されます/etc/nginx
。面倒で手っ取り早い解決法が欲しい場合は、ファイルをこのフォルダに入れるだけです。デフォルトではドキュメントが
index.html
提供されます。存在しない場合は、代わりにドキュメント ツリーが提供されます。ディレクトリには、もちろん welcome ページが含まれています。まず、これを移動してください。別のフォルダからファイルを提供したい場合は、読み進めてください。2つのディレクトリが存在する
/etc/nginx/sites-available /etc/nginx/sites-enabled
最初のディレクトリには実際の設定ファイルが保存され、2 番目のディレクトリには設定サイトへのリンクが含まれています。これらのリンクは、nginx に設定を処理してサイトを提供するように指示します。
目標を達成するには、既存の構成を少し調整するだけで十分です。
まず、シンボリックリンクを削除します
default
sudo rm /etc/nginx/sites-enabled/default
そのため、サーバーはデフォルトではウェルカム ページを提供しません。
default
それをコピーして変更しますcd /etc/nginx/sites-available sudo cp default mysite
好きな名前を付けてください
mysite
。ファイルをエディターで開きます。設定のほとんどは問題ありませんが、
root
提供したいファイルを含むディレクトリを指すように調整する必要があります。基本的に必要なのはこれだけですが、1 つのオプションが非常に便利です。index
: ドキュメントルートがhttp://サーバー/閲覧されます。設定をリロードします
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 ファイルのパスに置き換えます。