Как легко запустить веб-сервер в любой папке?
Я ищу относительно безболезненный способ запуска веб-сервера с корнем документа в любой папке, которую я укажу (или еще лучше, где я запускаю).
Я часто пробую новые вещи, такие как фреймворки JS или около того, в новой папке где-то здесь:
/home/alexander/code/angularjs/
Тогда было бы удобно просто зайти в этот каталог и набрать что-то вроде:
start-webserver-here
так что веб-сервер начинает прослушивать порт 80 и обслуживать этот каталог, и я могу попробовать все, над чем работаю.
Я установил XAMPP, но кажется, что это базовый apache с корнем документа, который я должен изменить, даже с привилегиями root, наряду с предоставлением разрешений для каждой папки и т. Д.
Есть ли более простой способ?
10 ответов
Использование
python2 -m SimpleHTTPServer 80
или же
python3 -m http.server 80
запустить простой HTTP-сервер.
замещать 80
с другим номером, если вы хотите, чтобы он прослушивал другой порт. Для портов < 1024 он должен работать с правами root.
Мне также нравится использовать PHP для этой цели, так как он позволяет мне запускать такие вещи, как WordPress, на лету и легче разрабатывать темы (хотя вам все еще нужен MySQL):
php -S 0.0.0.0:8000
В том же самом скрипте, который запускает это, я также запускаю Guard, который автоматически обновляет браузер при изменении файла.
Если вы более рубиново настроены, жемчужина великолепна
serve
или для меня другой порт:
serve 9000
установить с gem install serve
Это также возможно в Ruby без установки гема.
ruby -run -e httpd . -p5000
На Ubuntu (и, вероятно, почти на всех других дистрибутивах Linux) у вас уже установлен BusyBox. Итак, вы можете запустить httpd:
busybox httpd -f -p 8080
затем откройте http://localhost:8080
В источниках httpd.c вы можете найти более подробную информацию. Он очень ограничен, но имеет почти все основные функции, такие как базовая проверка подлинности, сжатие gzip и сценарии CGI.
Кстати, BusyBox также широко используется во встроенных устройствах: Wi-Fi-роутерах, ТВ-боксах и т. Д. Но OpenWrt, который представляет собой прошивку с открытым исходным кодом для WiFi-роутеров, использует собственный http-сервер: uhttpd. И вы можете скомпилировать и установить его на любой другой Linux. Да, он не встроен в Ubuntu и не так прост в установке, но это может быть полезно, если вам все еще нужен небольшой веб-сервер, но bb-httpd вам не подходит.
Просто используйте 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.
Для этого вы можете использовать Nginx: https://gist.github.com/asterite3/89236d1753a669e173531aca4b87afdc
Это не однопоточный (сервер не будет зависать для других клиентов при доступе, скажем, из google-chrome) и очень настраиваемый и эффективный.
Поскольку в названии вашей папки есть angularjs, похоже, это угловое приложение js. В таком случае не забудьте проверить Йомана.
Цитировать это сайт
Yeoman 1.0 - это больше, чем просто инструмент. Это рабочий процесс; набор инструментов и лучших практик, работающих в гармонии, чтобы сделать разработку для Интернета еще лучше.
Одна из многих других вещей в комплекте grunt
сервер.
Вам нужен JS Lightning. Это как раз то, что доктор прописал. Это приложение Node JS.
Установите его. Введите «js-lightning» в любом каталоге с сервильными файлами, и он будет работать на порту 7000. Дайте ему другой порт, и вместо этого вам будет хорошо. Много хороших функций, чтобы сделать его полезным.
На всякий случай он будет обслуживать в каталоге все, что может «требовать()». Другими словами, он обслуживает файлы .js способом, вдохновленным PHP.
Вы можете использовать кросс -платформенный статический http-сервер, не зависящий от языка.