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

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

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

/home/alexander/code/angularjs/

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

start-webserver-here 

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

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

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

Воспользуйся

python2 -m SimpleHTTPServer 80

или

python3 -m http.server 80

чтобы запустить простой HTTP-сервер.

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

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

php -S 0.0.0.0:8000

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

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

serve

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

serve 9000

установите с помощью gem install serve

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

ruby -run -e httpd . -p5000

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

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

sudo npm install http-server -g

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

http-server [path] [options]

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

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

Для получения дополнительных вариантов посетите сайт: https://www.npmjs.com/package/http-server.

В Ubuntu (и, вероятно, почти во всех других дистрибутивах Linux) у вас уже есть Занятый ящик установленный. Так что ты можешь бежать httpd:

busybox httpd -f -p 8080

затем откройте http://localhost:8080

В источниках httpd.c вы можете найти более подробную информацию.Он очень ограничен, но обладает почти всеми базовыми функциями, такими как базовая аутентификация, сжатие gzip и CGI-скрипты.

Кстати, BusyBox также широко используется во встраиваемых устройствах: Wi-Fi-маршрутизаторах, ТВ-боксах и т.д.Но OpenWRT который является прошивкой с открытым исходным кодом для WiFi маршрутизаторов использует свой собственный httpсервер: uhttpd. И вы можете скомпилировать и установить его на любой другой Linux. Да, он не встроен в Ubuntu и не так прост в установке, но это может быть полезно, если вам все еще нужен небольшой веб-сервер, но bb-httpd не соответствует вашим потребностям.

Для этого вы можете использовать Nginx: https://gist.github.com/asterite3/89236d1753a669e173531aca4b87afdc

Это не однопоточный (сервер не будет зависать для других клиентов, если доступ осуществляется, скажем, из google-chrome) и очень настраиваемый и эффективный.

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

Чтобы процитировать его сайт

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

Одной из многих других вещей является комплектный grunt сервер.

Вам нужен JS Lightning. Это именно то, что прописал доктор. Это приложение Node JS.

Установите его. Введите "js-lightning" в любой каталог с сервильными файлами, и он будет работать на порту 7000. Дайте ему другой порт, и вам там будет хорошо. Множество полезных функций, которые делают его полезным.

Для верности, он будет обслуживать все в каталоге, что он может "потребовать()". Иными словами, он обслуживает файлы .js способом, вдохновленным PHP.

http://jsLightning.com

Кто-то составил большой список однострочников для достижения этой цели: