Я ищу относительно безболезненный способ запуска веб-сервера с корнем документа в любой папке, которую я укажу (или еще лучше, где я запускаю).
Я часто пробую новые вещи, такие как JS-фреймворки или около того, в новой папке где-то здесь:
/home/alexander/code/angularjs/
Тогда было бы удобно просто зайти в этот каталог и напечатать что-то вроде:
start-webserver-here
, чтобы веб-сервер начал прослушивать порт 80 и обслуживать этот каталог, и я могу попробовать все, над чем работаю.
Я установил XAMPP, но кажется, что это базовый apache с корнем документа, который мне нужно изменить, даже с привилегиями root, наряду с предоставлением разрешений для каждой папки и т. Д.
Есть ли проще? путь?
Мне также нравится использовать PHP для этой цели, поскольку он позволяет мне запускать такие вещи, как WordPress, на лету и легче разрабатывать темы (хотя вам все еще нужен MySQL):
php -S 0.0.0.0:8000
В Тот же сценарий , который запускает это, я также запускаю guard , который автоматически обновляет браузер при изменении файла.
Если вы более рубиново настроены, драгоценный камень serve великолепен
serve
или для другого порта:
serve 9000
установите с gem install serve
gksu pm-suspend
в терминале никогда не предлагает мне пароль (с пополудни - уже приостанавливают набор к NOPASSWD в sudoers). Как насчет того, чтобы делать ярлык /bin/sh -c "sudo pm-suspend"
?
– Sergiy Kolodyazhnyy
13 May 2015 в 23:18
Это также возможно в 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 .
Используйте
python2 -m SimpleHTTPServer 80
или
python3 -m http.server 80
для запуска простого HTTP-сервера.
Замените 80
другим номером, если вы хотите, чтобы он прослушивал другой порт. Для портов < 1024 он должен работать с привилегиями root.
Поскольку в названии вашей папки есть angularjs, похоже, это угловое приложение js. В таком случае, обязательно проверьте йомен .
Цитировать его сайт
Yeoman 1.0 - это больше, чем просто инструмент. Это рабочий процесс; набор инструментов и лучших практик, работающих в гармонии, чтобы сделать разработку для Интернета еще лучше.
Одной из многих других вещей является встроенный grunt
сервер.
Можно использовать Nginx для этого: https://gist.github.com/asterite3/89236d1753a669e173531aca4b87afdc
Это не является однопоточным (сервер не зависнет для других клиентов, если получено доступ от, скажем, Google Chrome), и очень настраивается и является эффективным.
В Ubuntu (и, вероятно, почти во всех других дистрибутивах Linux) у вас уже установлен BusyBox. Таким образом, вы можете запустить httpd:
busybox httpd -f -p 8080
, затем открыть http://localhost:8080
В источниках httpd.c вы можете найти более подробную информацию. Он очень ограничен, но имеет почти все основные функции, такие как базовая аутентификация, сжатие gzip и сценарии CGI.
Кстати, BusyBox также широко используется во встроенных устройствах: WiFi-маршрутизаторах, телевизионных приставках и т. д. Но OpenWrt, прошивка с открытым исходным кодом для маршрутизаторов WiFi, использует собственный http-сервер: uhttpd. И вы можете скомпилировать и установить его на любой другой Linux. Да, он не встроен в Ubuntu и его не так просто установить, но это может быть полезно, если вам все еще нужен небольшой веб-сервер, но bb-httpd не соответствует вашим потребностям.