私はいわゆる大衆に公開したい毎日のレポートを生成するスクリプトを持っています。問題は、HTTPサーバー(Apacheなど)のすべての構成とセキュリティ関連のメンテナンスをもう難しくしたくないことです。
HTTPサーバー全体を構成せずに小さなHTMLページを提供する非常に簡単なソリューションはありますか?
答え1
努力するシンプルなHTTPサーバー:
python3 -m http.server 8080
またはPython 2の場合
python -m SimpleHTTPServer 8080
IP アドレスをバインドするには:
python -m SimpleHTTPServer 8080 -b 0.0.0.0
またはPython 3の場合
python3 -m http.server 8080 -b 0.0.0.0
それはその中に何でも提供します連続WD(例:index.html)場所:http://0.0.0.0:8000。
答え2
一つあるhttp静的サーバーの大きなリスト:
このリストに含めるには、ソリューションは次のことを行う必要があります。
- 現在のディレクトリ(または指定されたディレクトリ)をサーバーのルートディレクトリとして使用して静的ファイルを提供する
- 単一行コマンドで実行する機能(1回限りの場合は依存関係は問題ありません)
- 適切なMIMEタイプを使用してデフォルトのファイルタイプ(html、css、js、イメージ)を提供し、コマンド自体以外の設定(ファイルなど)は必要ありません(フレームワーク固有のサーバーなしなど)。
- フォアグラウンドで実行または実行できるモードが必要です(デーモンなし)。
たとえば、
-
twistd -n web -p 8000 --path .
アランド:
erl -s inets -eval 'inets:start(httpd,[{server_name,"NAME"},{document_root, "."},{server_root, "."},{port, 8000},{mime_types,[{"html","text/html"},{"htm","text/html"},{"js","text/javascript"},{"css","text/css"},{"gif","image/gif"},{"jpg","image/jpeg"},{"jpeg","image/jpeg"},{"png","image/png"}]}]).'
-
cpan Plack plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");' -p 8000
-
webfsd -F -p 8000
-
ruby -run -ehttpd . -p8000
答え3
速くて使いやすいですnode.js
。
または
簡単なnc
netcatコマンドを使用して、ポートで高速Webサーバーを起動し、ファイルの内容(サーバー応答ヘッダーを含む)を提供します。
参考ウィキペディア:
{ echo -ne "HTTP/1.0 200 OK\r\n\r\n"; cat some.file; } | nc -l -p 8080
{ echo -ne "HTTP/1.0 200 OK\r\nContent-Length: $(wc -c <some.file)\r\n\r\n"; cat some.file; } | nc -l -p 8080