2013-03-10 20 views
17

Poszukuję martwego prostego pojemnika, który mogę uruchomić w powłoce i obsłużyć bieżący katalog (najlepiej nie ..), z może być -p do określenia portu. Ponieważ powinien to być serwer programistyczny, powinien domyślnie zezwalać na połączenia tylko z lokalnego hosta, może z opcją określenia inaczej. Im prostsze, tym lepiej.Prosty serwer plików do obsługi bieżącego katalogu

Nie jesteś pewien, których tagów użyć tutaj.

+1

Powinieneś raczej zamieścić to na stronie http://serverfault.com/. –

+0

Rozwiązania ruby: http://stackoverflow.com/questions/3108395/serve-current-directory-from-command-line – Alec

+0

Pytania na temat "narzędzi programowych powszechnie używanych przez programistów" są tematem. Kiedy tworzysz strony internetowe (a nawet rozwijasz inne typy), potrzebujesz dostępu do lokalnych plików przez HTTP. Być może jest to nadal nie na temat, ponieważ prosi o rekomendację narzędzia, ale nie zgadzam się z podanym powodem zamknięcia. – vossad01

Odpowiedz

26
python3 -m http.server 

lub jeśli nie chcesz używać domyślnego portu 8000

python3 -m http.server 3333 

lub jeśli chcesz zezwolić na połączenia z localhost tylko

python3 -m http.server --bind 127.0.0.1 

Zobacz docs.


Odpowiednik Python 2 polecenia są

python -m SimpleHTTPServer 

python -m SimpleHTTPServer 3333 

Nie ma opcji --bind.

Zobacz Python 2 docs.

3

Istnieje aplikacja Perl App::HTTPThis lub często używam małego serwera Mojolicious, aby to zrobić. Zobacz mój blog post od pewnego czasu.

Utwórz plik o nazwie powiedz: server.pl. Umieść to w nim.

#!/usr/bin/env perl 

use Mojolicious::Lite; 

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

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

app->start; 

Install Mojolicious: curl get.mojolicio.us | sh a następnie uruchomić morbo server.pl.

Powinien działać, a jeśli to konieczne, można go dostosować.

+0

Nie lubię orurowania w powłoce. – Reactormonk

+0

OK, następnie zainstaluj przez cpan: 'cpan -i Mojolicious' lub przez apt (choć może to być trochę stare.Jest to tylko skrypt szybkiego instalowania :-) –

+0

Jednowkładowa wersja tej aplikacji Mojolicious będzie:' perl -Mojo -E 'a-> static-> paths (["."]); A-> start' daemon' – alexm

10

dla węzła, nie 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 posiada:

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

Należy zauważyć, że Python 2 nie ma opcji --bind, więc zezwala na wszystkie połączenia (nie tylko z localhost).

1

Korzystanie Twisted Web:

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

--pidfile= wyłącza plik PID. Bez niego plik twistd.pid zostanie utworzony w bieżącym katalogu. Możesz także użyć --pidfile ''.

Powiązane problemy