Простейший web сервер linux
Если у вас не работает один из способов авторизации, сконвертируйте свой аккаунт по ссылке
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
1. Python
открыть в браузере адреса
http://0.0.0.0:8080/ или http://localhost:8080/ или http://127.0.0.1:8080/
без указания порта запустит сервер на порту 8000
python -m SimpleHTTPServer
python3 -m http.server
Если есть файл index.html в папке, из которой дан старт команде, то он будет открыт в браузере по умолчанию
запустить HTTP для всех локальных интерфейсов на порту 8080
python -m SimpleHTTPServer 8080 # python2
python3 -m http.server 8080
запустить в папке, где находится каталог cgi-bin, со сценарием cgi
python3 -m http.server 8080 —cgi
запускает сервер SMTP на порту 1025
python -m smtpd -n -c DebuggingServer localhost:1025
запустить сервер SMTP на стандартном порту 25
sudo python -m smtpd -n -c DebuggingServer localhost:25
Привязка любого номера порта ниже 1024 требует привилегии root, в таком случае используйте sudo перед командой
2. busybox httpd web server
busybox httpd —help # show available options
busybox httpd -p 127.0.0.1:8080 -h /var/www/ # start httpd
# busybox httpd -f -v -p 8080 # вариант
pkill busybox # to stop busybox httpd
по умолчанию BusyBox httpd связывает порт 80 со всеми доступными сетевыми интерфейсами и читает /etc/httpd.conf конфигурационный файл.
3. webfsd HTTP server
конфигурации webfsd хранятся в файле /etc/webfsd.conf
sudo apt-get install webfs # install webfs in Debian/Ubuntu
sudo service webfs start # start the webfs server
По умолчанию webfsd связывает порт 8000 со всеми доступными сетевыми интерфейсами с /var/www/html как корневую папку документов в Debian.
4. netcat as a simple web server
Netcat используется в основном для обслуживания только текстовых файлов через HTTP, полезных в целях мониторинга
Сохраните скрипт с любым именем если вы хотите использовать в сценарии, изменить его в соответствии с вашими потребностями, сделайте его исполняемым с chmod +x и запустите его
напишите в cat /var/www/index.html с тем, что вы хотите сделать, как /sbin/ifconfig eth0
чтобы остановить скрипт нажмите CTRL+C
5. php inbuilt web server
php -S 127.0.0.1:8080 -t $HOME/dev/www
Если есть index.html или index.php файл, то он будет выполнен с помощью этого простого сервера PHP, теперь проверить его можно в вашем веб-браузере.
JS + Node
Создайте файл server.js в корневой директории вашего проекта и поместите туда следующий код:
выполните ваш скрипт в Node.js:
node server.js
Go
Создайте файл server.go в корневой директории вашего проекта и поместите туда следующий код:
выполните ваш скрипт
go run server.go
Самый простейший и легковесный http-сервер?
Какой простейший и самый легковесный HTTP сервер вы можете посоветовать? Чтобы никаких лишних примочек, никакой поддержки интерпретаторов. Чтобы умел только показывать файлы и содержимое директории и занимал минимум памяти. Хочется воткнуть такой на Raspberry Pi.
Даже без нагрузки требует в 4 раза больше памяти чем nginx.
Старенький apache-ик без модулей?
В чём преимущество старенького apache перед новеньким nginx?
wget https://gist.githubusercontent.com/sumpygump/9908417/raw/5fa991fda103d0b7a0c38512394a83ccada9ad6c/nweb23.c gcc -O -DLINUX nweb23.c -o nweb ./nweb 8080 /home/user/
Lavos ★★★★★ ( 29.12.16 18:45:15 MSK )
Последнее исправление: Lavos 29.12.16 18:45:25 MSK (всего исправлений: 1)
На правах вопроса, а lighthttpd чем не light?
raspberry вполне себе и полновесный апач потянет
lighttpd всегда ставлю. Даже на 256 метрах WD MBL хорошо себя вел.
nginx и postfix (для пересылки на гуглоящик) на заNATном сервере за 3 бакса в год. Крутит мои статичные сайтцы. Потребляет 8МБ памяти.
package main import "net/http" func main() < http.Handle("/", http.FileServer(http.Dir("/var/www/"))) http.ListenAndServe(":80", nil) >
Сами пробовали что советуете?
Only Supports: gif jpg jpeg png ico zip gz tar htm html json
Спасибо! Думаю, ничего легковеснее просто не бывает. Разве что кто-нибудь сподобится написать его на ассемблере.
На всякий случай, вот его запускалка для systemd. Вдруг кому понадобится.
[Unit] Description=Lightweight Web server [Service] Type=simple Nice=-1 ExecStart=/usr/bin/quark Restart = on-abort [Install] WantedBy=multi-user.target
1. Это не легковесный сервер.
2. Он не для продакшена даже, если ваш сайт это одна страничка посвящённая вашему котику.
3. На 80 порт повесите от рута что ли?
Записки IT специалиста
Мы часто используем lighttpd в качестве встроенного веб-сервера для различных служб (например веб-панелей и т.п.), в то же время многим нашим читателям нужен простой и легкий веб-сервер для размещения своих внутрисетевых ресурсов. Сегодня мы расскажем как сделать такой сервер на базе lighttpd.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Для придания законченности материалу мы будем рассматривать установку веб-сервера с нуля на отдельную машину, в тоже время ничто не мешает использовать уже существующие инсталляции lighttpd, в таком случае ряд компонентов уже будет у вас установлен и ряд действий описанных в данной статье можно будет пропустить.
Мы развернули в нашей тестовой лаборатории следующую схему:
- Роутер, настройка которого описана в данной статье, имеет IP-адрес 10.0.0.1.
- Веб-сервер, настройкой которого мы займемся, имеет IP-адрес 10.0.0.145
- Рабочие станции, получают сетевые настройки автоматически.
Наша задача: развернуть на веб-сервере внутренний ресурс по адресу http://site.local и сделать возможным использование для него любых современных движков (например Joomla). В качестве операционной системы сервера будем использовать Ubuntu 10.04.3 x64 со всеми последними обновлениями.
Прежде всего установим необходимые для администрирования пакеты mc и OpenSSH:
sudo apt-get install mc ssh
Теперь мы можем задвинуть сервер на полку в серверной и производить все операции с ним удаленно через SSH, например используя PuTTY.
Прежде всего установим сам веб-сервер:
sudo apt-get install lighttpd
После установки он сразу готов к работе, в чем можно убедиться набрав в браузере IP-адрес нашего сервера. Вы должны увидеть стандартную страницу-заглушку сервера:
Это хорошо, но нам нужно чтобы пользователи могли обращаться к сайту набирая его имя. Для этого в /etc/lighttpd/lighttpd.conf добавим следующую секцию:
$HTTP["host"] == "site.local" server.document-root = "/var/www/ " >
Которая описывает наш хост и задает для него корневую директорию, так как мы собираемся размещать один сайт, то мы указали для него директорию используемую веб-сервером по умолчанию, т.е. /var/www. Подобным образом мы можем разместить на сервере несколько сайтов, указав для каждого свою корневую директорию, например /var/www/site.local и /var/www/site1.local [1]. Перезапустим веб-сервер:
sudo service lighttpd restart
Осталось только сообщить компьютерам нашей сети, что сайт site.local обслуживается нашим веб-сервером по адресу 10.0.0.145, это можно сделать прописав соответствующие строки в файле hosts на каждой рабочей станции, но лучше сделать это централизованно. Так как у нас в сети развернут кеширующий DNS (Dnsmasq) будет глупо не воспользоваться его возможностями. Для этого на роутере в конфигурационном файле /etc/dnsmasq.conf добавим следующие строки:
sudo service dnsmasq restart
Если теперь мы наберем в браузере site.local, то также увидим страницу-заглушку веб-сервера.
Теперь на нашем сервере можно размещать свои веб-странички, но как это сделать? Обычно на хостингах для доступа к содержимому сайтов используют FTP, в нашем случае мы не видим смысла использовать дополнительный сервис, так как установленный OpenSSH сервер дает возможность передачи файлов по защищенному протоколу SFTP. Никаких дополнительных настроек для этого не потребуется, достаточно в любом поддерживающем SFTP клиенте (например FileZilla) указать имя хоста, логин и пароль (вашего пользователя на веб-сервере) и порт подключения 22 или sftp://site.local в имени хоста.
Создадим в блокноте проверочную HTML страницу и сохранив ее под именем index.html разместим в папке /var/www нашего сервера (не забудьте установить права 777 на /var/www):
Site Local
Тестовая страница.
Если вы можете прочитать этот текст, значит ваш веб-сервер работает и настроен правильно.
Если все сделано правильно, то набрав адрес сайта вы должны увидеть вместо заглушки нашу страничку:
Современные веб-технологии предусматривают широкое использование т.н. «движков», для поддержки которых требуются PHP и MySQL, поэтому самое время добавить их к нашему серверу. Сначала установим PHP:
sudo apt-get install php5-cgi
Затем в /etc/php5/cgi/php.ini найдем, раскомментируем и приведем к следующему виду строку:
Теперь включим поддержку PHP в lighttpd:
sudo lighttpd-enable-mod fastcgi
sudo lighttpd-enable-mod fastcgi-php
sudo service lighttpd restart
Для проверки создадим в блокноте файл следующего содержания:
И сохранив его как test.php разместим в /var/www нашего сервера, затем наберем в браузере http://site.local/test.php после чего вы увидите стандартную страницу с информацией о РНР:
Следующим шагом установим сервер баз данных MySQL и модуль PHP для работы с ним:
sudo apt-get install mysql-server php5-mysql
По умолчанию MySQL сервер использует кодировку latin1, в то время как большинство современных движков работают в UTF-8. Поэтому откроем /etc/mysql/my.cnf и добавим в секции [client] и [mysqld] следующие строки:
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
collation_server=utf8_unicode_ci
Для удобного управления СУБД установим пакет phpMyAdmin:
sudo apt-get install phpmyadmin
В процессе установки не забудьте указать используемый вами веб-сервер, в нашем случае lighttpd, инсталлятор сам произведет все требуемые настройки.
Набрав в браузере http://site.local/phpmyadmin вы окажетесь на страничке входа данной утилиты, для авторизации используйте имя пользователя root и пароль указанный на этапе установки MySQL. В данном случае не стоит путать пользователя root c одноименным системным пользователем, в данном случае речь идет о суперпользователе СУБД.
В заключение установим на наш сервер популярный движок Joomla. Для этого скачаем с официального сайта необходимые пакеты, разместим файлы движка в /var/www (предварительно удалив все содержимое папки) и установив необходимые права на папки и файлы (см. инструкции к движку) начнем установку просто набрав в браузере адрес сайта.
Никаких сложностей на этом этапе возникнуть не должно. После установки в первую очередь устанавливаем языковой пакет и в нашем распоряжении полноценный сайт, можем переходить к его наполнению и оформлению:
Вот так, менее чем за полчаса времени, в вашем распоряжении может оказаться простой веб-сервер поддерживающий все современные технологии.
Дополнительные материалы:
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал: