Простой файловый сервер для обслуживания текущего каталога
Я ищу мертвый простой ящик, который я могу запустить в оболочке, и он будет обслуживать текущий каталог (желательно не..), возможно, -p
для указания порта. Поскольку он должен быть сервером разработки, он должен по умолчанию разрешать соединения только с localhost, возможно, с опцией указывать иначе. Чем проще, тем лучше.
Не знаете, какие теги использовать здесь.
Ответы
Ответ 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 ''
.