2013-03-10 41 views
17

我正在尋找一個死的簡單的bin,我可以在shell中啓動並使其服務於當前目錄(最好不是..),也許指定端口爲-p。因爲它應該是一個開發服務器,所以它應該默認允許從本地主機連接,也許只有一個選項可以指定。越簡單越好。簡單的文件服務器爲當前目錄服務

不確定在這裏使用哪個標籤。

+1

您應該在http://serverfault.com/上發佈此內容。 – 2013-03-10 22:44:33

+0

紅寶石解決方案:http://stackoverflow.com/questions/3108395/serve-current-directory-from-command-line – Alec 2013-03-11 01:31:56

+0

有關「程序員常用的軟件工具」的問題是關於主題的。當你做web開發時(甚至現在還有其他類型的開發),你最終需要通過HTTP訪問本地文件。也許這仍然是無關緊要的,因爲它要求提供工具建議,但我不同意關閉原因。 – vossad01 2017-07-25 06:13:09

回答

26
python3 -m http.server 

,或者如果你不想使用默認端口8000

python3 -m http.server 3333 

,或者如果你要允許從本地主機只

python3 -m http.server --bind 127.0.0.1 

docs連接。


等效Python 2中的命令是

python -m SimpleHTTPServer 

python -m SimpleHTTPServer 3333 

沒有--bind選項。

請參閱Python 2 docs

3

有Perl應用程序App::HTTPThis或者我經常使用微型Mojolicious服務器來執行此操作。一會兒見我的blog post

製作一個叫做server.pl的文件。把它放在裏面。

#!/usr/bin/env perl 

use Mojolicious::Lite; 

use Cwd; 
app->static->paths->[0] = getcwd; 

any '/' => sub { 
    shift->render_static('index.html'); 
}; 

app->start; 

安裝Mojolicious:curl get.mojolicio.us | sh,然後運行morbo server.pl

應該可以工作,如果需要可以調整腳本。

+0

我不喜歡管道進入殼。 – Reactormonk 2013-03-11 00:21:08

+0

好吧,然後通過cpan安裝:'cpan -i Mojolicious'或者通過apt安裝(儘管它可能有點舊,這只是一個快速安裝腳本:-) – 2013-03-11 01:14:02

+0

Mojolicious應用程序的單線版本應該是:'perl -Mojo -E'a-> static-> paths([「。」]); a-> start'daemon' – alexm 2016-02-10 13:00:24

10

對於節點,有http-server

$ npm install -g http-server 
$ http-server Downloads -a localhost -p 8080 
Starting up http-server, serving Downloads on port: 8080 
Hit CTRL-C to stop the server 

Python有:

  • 的Python 3python -m http.server --bind 127.0.0.1 8080
  • 的Python 2python -m SimpleHTTPServer 8080

請注意,Python 2沒有--bind選項,所以它將允許所有連接(不僅僅是從localhost)。

1

使用Twisted Web

twistd --pidfile= -n web --path . --port 8080 

--pidfile=禁用PID文件。沒有它將在當前目錄中創建一個twistd.pid文件。您也可以使用--pidfile ''