развернуть
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 перед командой
Twisted (Python)
$ twistd -n web -p 8000 --path .
или
$ python -c 'from twisted.web.server import Site; from twisted.web.static import File; from twisted.internet import reactor; reactor.listenTCP(8000, Site(File("."))); reactor.run()'
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 -F -p 8000
По умолчанию 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
php -S 127.0.0.1:8080 -t $HOME/dev/www
Если есть index.html или index.php файл, то он будет выполнен с помощью этого простого сервера PHP, теперь проверить его можно в вашем веб-браузере.
########################################################################
JS + Node
http://www.nodebeginner.ru/
https://metanit.com/web/nodejs/3.1.php
Создайте файл server.js в корневой директории вашего проекта и поместите туда следующий код:
выполните ваш скрипт в Node.js:
node server.js
http-server (Node.js)
$ npm install -g http-server # install dependency
$ http-server -p 8000
Примечание: Этот сервер делает странные вещи с относительными путями. Например, если у вас есть файл /tests/index.html, он загрузит index.html, если вы перейдете в /test, но будет обрабатывать относительные пути так, как будто они исходят из /.
node-static (Node.js)
$ npm install -g node-static # install dependency
$ static -p 8000
Go
https://metanit.com/go/web/1.1.php
Базовый веб сервер на Go
Простейший веб-сайт на Go
Создайте файл server.go в корневой директории вашего проекта и поместите туда следующий код:
выполните ваш скрипт
go run server.go
https://funprojects.blog/2021/04/11/a-web-server-in-1-line-of-bash/
Bash
Веб-сервер Bash, вызывающий команды Bash
Пример использования заголовков figlet, а также датчиков и утилиты vmstat:
https://gist.github.com/willurd/5720255
Ruby
$ ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'
Ruby 1.9.2+
$ ruby -run -ehttpd . -p8000
adsf (Ruby)
$ gem install adsf # install dependency
$ adsf -p 8000
Sinatra (Ruby)
$ gem install sinatra # install dependency
$ ruby -rsinatra -e'set :public_folder, "."; set :port, 8000'
Perl
$ cpan HTTP::Server::Brick # install dependency
$ perl -MHTTP::Server::Brick -e '$s=HTTP::Server::Brick->new(port=>8000); $s->mount("/"=>{path=>"."}); $s->start'
Plack (Perl)
$ cpan Plack # install dependency
$ plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");' -p 8000
Mojolicious (Perl)
$ cpan Mojolicious::Lite # install dependency
$ perl -MMojolicious::Lite -MCwd -e 'app->static->paths->[0]=getcwd; app->start' daemon -l http://*:8000
Erlang
$ erl -s inets -eval 'inets:start(httpd,[{server_name,"NAME"},{document_root, "."},{server_root, "."},{port, 8000},{mime_types,[{"html","text/html"},{"htm","text/html"},{"js","text/javascript"},{"css","text/css"},{"gif","image/gif"},{"jpg","image/jpeg"},{"jpeg","image/jpeg"},{"png","image/png"}]}]).'
Java
jwebserver -p 8080
IIS Express
C:\> "C:\Program Files (x86)\IIS Express\iisexpress.exe" /path:C:\MyWeb /port:8000
https://fixmynix.com/create-instant-lightweight-web-server-command-line/
http://uzverss.livejournal.com/33187.html#www
Как сделать простой веб-сайт за один час
Расшариваем веб-сайт на localhost в глобальную сеть интернет.