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

"Ad-hoc webserver" для статических файлов в UNIX/MacOSX?

Есть ли такая вещь, как маленький маленький веб-сервер, который я могу вызывать из командной строки, которая просто извлекает файлы из локальной файловой системы и обслуживает их через HTTP на определенном порту?

Я хотел бы сделать что-то вроде этого:

$ cd ~/Sites/mysite
$ serve . 10.0.1.1 8080

Это должно запустить веб-сервер, который прослушивает 10.0.1.1:8080 и служит для файлов из текущего каталога ( "." ) - нет PHP, ASP или любого из них.

Любое предложение было очень оценено.

4b9b3361

Ответ 1

Если у вас установлен python:

$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

Ответ 2

$ python -m SimpleHTTPServer [port]

запустит веб-сервер в текущем каталоге, обслуживающий любые файлы, найденные там.

В некоторых случаях это не сработает, например, сервер однопоточен (так что нет одновременной загрузки) и не обрабатывает байтовые запросы (клиенты, ожидающие поддержки Range: поддержка часто терпят неудачу).

Ответ 3

Apache HTTPD встроен в Mac OS X - просто включите "Обмен через Интернет" в настройках совместного доступа.

Чтобы он работал также через порт 8080, вам нужно добавить некоторую конфигурацию. См. Статью о Serverfault для начальной точки.

Ответ 4

Python3 может обслуживать текущий каталог через HTTP, используя http.server:

$ python3 -m http.server

Где

  • python3 текущая версия python
  • -m обозначает модуль
  • http пакет http
  • http.server серверный модуль (пакета http)

По умолчанию, http.server прослушивает порт 8000, но вы можете указать следующее:

$ python3 -m http.server 8080