Вопрос Как легко запустить веб-сервер в любой папке?


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

Я часто тестирую новые вещи, такие как JS-фреймворки или около того, в новой папке где-то здесь:

/home/alexander/code/angularjs/

Тогда было бы удобно просто войти в этот каталог и ввести что-то вроде:

start-webserver-here 

так что веб-сервер начинает прослушивать порт 80 и обслуживать этот каталог, и я могу попробовать все, над чем я работаю.

Я установил XAMPP, но кажется, что это базовый apache с корнем документа, который мне нужно будет изменить, с правами root даже, наряду с предоставлением разрешений для каждой папки и т. Д.

Есть ли более простой способ?


106
2017-11-15 10:42


происхождения


Для достижения этого кто-то собрал большой список одного лайнера: gist.github.com/willurd/5720255 - Abhinav Bhatia


ответы:


использование

python2 -m SimpleHTTPServer 80

или

python3 -m http.server 80

для запуска простого HTTP-сервера.

замещать 80 с другим номером, если вы хотите, чтобы он прослушивал другой порт. Для портов <1024 он должен запускаться с правами root.


160
2017-11-15 10:57



Это именно то, что я искал! Danke! - Alexander Rechsteiner
Вы можете запустить это параллельно с Apache? Конечно, на другом порту (хотя я бы хотел, чтобы вы взорвали мое сознание, сказав мне, что они могут использовать одни и те же порты). - dibs
@dibs Да, они могут работать параллельно. Но нет, не в том же порту. - Dan
Соответствующий эквивалент python 3.x python3 -m http.server - Stefano Palazzo♦
вот почему я так сильно люблю stackoverflow. Посмотрите здесь, что касается точной проблемы, я хотел найти душу для ... запускать angularjs с веб-сервера. Большое спасибо Флориан Дейш - SK176H


Мне также нравится использовать PHP для этой цели, поскольку он позволяет мне запускать такие вещи, как WordPress «на лету», и разрабатывать темы более легко (вам все равно нужен MySQL):

php -S 0.0.0.0:8000

в тот же скрипт что это начинается, я тоже начинаю охрана, который автоматически обновляет браузер при изменении файла.


21
2017-11-19 10:32



Обратите внимание, что встроенная функция сервера добавлено в 5.4.0 - sierrasdetandil
Да, вам нужна одна из новых версий. Версия в репозиториях 13.10, если вы это сделаете sudo apt-get install php5 5.5.3, так что вы должны быть в порядке. - metakermit
Отлично ! Только то, что я искал! - Prakash Raman


если вы более похожи на рубин, обслуживать драгоценный камень отличный

serve

или для другого порта:

serve 9000

установить с gem install serve


17
2017-11-15 14:16



Это работает отлично, но для этого требуется ruby> = 1.9.3 - Valerio Schiavoni
Да, но также 1.9.3 - eol, Патчи безопасности больше не поддерживаются. Рекомендовал бы РВМ для управления старыми рубинами. Они не должны быть вашей системой по умолчанию - will-ob


Это также возможно в Ruby без установки драгоценного камня.

ruby -run -e httpd . -p5000


11
2017-11-20 23:22



Не работал для меня. Какую версию рубина вы попробовали? - Valerio Schiavoni
Работает как рекламируется с Ruby 2.5.1. - Raphael


Поскольку в названии вашей папки есть angularjs, похоже, что это угловое приложение js. В этом случае обязательно проверьте йомен вне.

Процитировать его сайт

Yeoman 1.0 - это больше, чем просто инструмент. Это рабочий процесс; набор инструментов и лучших практик, работающих в гармонии, чтобы сделать разработку для Интернета еще лучше.

Одна из многих других вещей - связанная grunt сервер.


3
2017-11-19 10:37





Просто используйте http-server, это сервер командной строки с нулевой конфигурацией.

Самый простой способ установить его - через npm:

sudo npm install http-server -g

Применение:

http-server [path] [options]

[path] по умолчанию ./public если папка существует, и ./ в противном случае.

Чтобы увидеть ваш сервер в действии, посетите HTTP: // локальный: 8080, использование -p возможность установки другого порта.

Дополнительные параметры: https://www.npmjs.com/package/http-server,


2
2017-07-04 22:43