単純なコマンドラインHTTPサーバー

単純なコマンドラインHTTPサーバー

私はいわゆる大衆に公開したい毎日のレポートを生成するスクリプトを持っています。問題は、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. 現在のディレクトリ(または指定されたディレクトリ)をサーバーのルートディレクトリとして使用して静的ファイルを提供する
  2. 単一行コマンドで実行する機能(1回限りの場合は依存関係は問題ありません)
  3. 適切なMIMEタイプを使用してデフォルトのファイルタイプ(html、css、js、イメージ)を提供し、コマンド自体以外の設定(ファイルなど)は必要ありません(フレームワーク固有のサーバーなしなど)。
  4. フォアグラウンドで実行または実行できるモードが必要です(デーモンなし)。

たとえば、

  • ツイスト(Python)

    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
    
  • ルビー 1.9.2+

    ruby -run -ehttpd . -p8000
    

答え3

速くて使いやすいですnode.js

または

簡単なncnetcatコマンドを使用して、ポートで高速Webサーバーを起動し、ファイルの内容(サーバー応答ヘッダーを含む)を提供します。

参考ウィキペディア:

http://en.wikipedia.org/wiki/Netcat#Setting_up_a_one-shot_webserver_on_port_8080_to_present_the_content_of_a_file

{ 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

答え4

うん、エンウェブ。

ここで見つけることができます:ネットワークネットワーク

(以前はibm.com)

nweb.cをコンパイルします。

gcc -O -DLINUX nweb.c -o nweb

関連情報