web-dev-qa-db-ja.com

任意のディレクトリからWebサーバーを実行する

私は小さなウェブサイトを書いていますが、~/homeディレクトリからウェブサイトをテストするために完全なLAMPスタックをインストールして設定する方法を考えたくありません。それは完全に破壊的で不必要です。

私が欲しいのは、ディレクトリを持っていることです、例えば。 ~/home/Documents/Websiteそして、そのフォルダーからWebサイトの「ホーム」フォルダーとして小さなWebサーバーを実行します。

Jekyll は似たようなことをすることができますが、Ruby/Jekyllベースのサイトでのみビルドおよび設定できるようです。

簡単にインストールして、簡単に実行できる小さなWebサーバープログラムはありませんか?

たとえば、私はちょうどのような何かを実行する必要があった場合コマンドラインからsimple-server serve ~/home/Documents/Websiteを選択してから、たとえばlocalhost:4000またはサイトをテストするものであれば何でも完璧です。

Ubuntuでこれがすでに可能であり、方法がわからない場合は、お知らせください。

9
etsnyman

Phpがインストールされている場合は、php組み込みサーバーを使用してhtml/cssやphpファイルを実行できます。

cd /path/to/your/app
php -S localhost:8000

出力として次のものが得られます。

Listening on localhost:8000
Document root is /path/to/your/app
10
storm

私が知っている最も簡単な方法は:

cd /path/to/web-data
python3 -m http.server

コマンドの出力は、リッスンしているポートを示します(デフォルトは8000です)。 python3 -m http.server --helpを実行して、使用可能なオプションを確認します。

詳細については:

  1. http.serverに関するPythonドキュメント
  2. 単純なHTTPサーバー (これはpython2構文にも言及しています)
11
muru

必要なものはstatic web serverと呼ばれます。それを実現する方法はたくさんあります。

リストされている 静的Webサーバー

1つの簡単な方法:以下のスクリプトをstatic_server.jsとして保存します

   var http = require("http"),
     url = require("url"),
     path = require("path"),
     fs = require("fs")
     port = process.argv[2] || 8888;

 http.createServer(function(request, response) {

   var uri = url.parse(request.url).pathname
     , filename = path.join(process.cwd(), uri);

   path.exists(filename, function(exists) {
     if(!exists) {
       response.writeHead(404, {"Content-Type": "text/plain"});
       response.write("404 Not Found\n");
       response.end();
       return;
     }

     if (fs.statSync(filename).isDirectory()) filename += '/index.html';

     fs.readFile(filename, "binary", function(err, file) {
       if(err) {        
         response.writeHead(500, {"Content-Type": "text/plain"});
         response.write(err + "\n");
         response.end();
         return;
       }

       response.writeHead(200);
       response.write(file, "binary");
       response.end();
     });
   });
 }).listen(parseInt(port, 10));

 console.log("Static file server running at\n  => http://localhost:" + port + "/\nCTRL + C to shutdown");

index.htmlを同じディレクトリに入れて実行します

 node static_server.js
2
kenn

local-web-server をインストールすると、wsコマンドがインストールされ、任意のディレクトリを静的サイトとして提供するために実行できます。

このクリップは、静的ホスティングといくつかのログ出力形式-devおよびstatsを示しています。

Static static log output

0
Lloyd