Подтвердить что ты не робот

Простой файловый сервер для обслуживания текущего каталога

Я ищу мертвый простой ящик, который я могу запустить в оболочке, и он будет обслуживать текущий каталог (желательно не..), возможно, -p для указания порта. Поскольку он должен быть сервером разработки, он должен по умолчанию разрешать соединения только с localhost, возможно, с опцией указывать иначе. Чем проще, тем лучше.

Не знаете, какие теги использовать здесь.

4b9b3361

Ответ 1

python3 -m http.server

или если вы не хотите использовать порт 8000 по умолчанию

python3 -m http.server 3333

или если вы хотите разрешать соединения только с localhost

python3 -m http.server --bind 127.0.0.1

Смотрите docs.


Эквивалентные команды Python 2:

python -m SimpleHTTPServer

python -m SimpleHTTPServer 3333

Нет опции --bind.

См. Документы Python 2.

Ответ 2

Для Node, там 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 3: python -m http.server --bind 127.0.0.1 8080
  • Python 2: python -m SimpleHTTPServer 8080

Обратите внимание, что Python 2 не имеет опции --bind, поэтому он будет разрешать все подключения (не только от localhost).

Ответ 3

Существует приложение Perl App:: HTTPThis или я часто использовал крошечный Mojolicious для этого. См. Мой сообщение в блоге через некоторое время назад.

Сделайте файл с именем say 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.

Должен работать, и вы можете настроить script, если вам нужно.

Ответ 4

Использование Twisted Web:

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

--pidfile= отключает файл PID. Без него в текущем каталоге будет создан файл twistd.pid. Вы также можете использовать --pidfile ''.