Используя установку Erlang по умолчанию, что минимальный код необходим для создания "Привет мирового" создания веб-сервера?
Если понимать буквально "производить", вот довольно маленький пример. Он даже не читает запрос (но выполняет форк при каждом запросе, поэтому это не так минимально).
-module(hello).
-export([start/1]).
start(Port) ->
spawn(fun () -> {ok, Sock} = gen_tcp:listen(Port, [{active, false}]),
loop(Sock) end).
loop(Sock) ->
{ok, Conn} = gen_tcp:accept(Sock),
Handler = spawn(fun () -> handle(Conn) end),
gen_tcp:controlling_process(Conn, Handler),
loop(Sock).
handle(Conn) ->
gen_tcp:send(Conn, response("Hello World")),
gen_tcp:close(Conn).
response(Str) ->
B = iolist_to_binary(Str),
iolist_to_binary(
io_lib:fwrite(
"HTTP/1.0 200 OK\nContent-Type: text/html\nContent-Length: ~p\n\n~s",
[size(B), B])).
Для веб-сервера, использующего только встроенные библиотеки, проверьте inets http_server . Если вам нужно немного больше мощности, но все же для простоты, вам следует проверить mochiweb библиотека. Вы можете найти в Google множество примеров кода.
Вы действительно хотите написать веб-сервер на Erlang, или вы хотите веб-сервер на Erlang, чтобы вы могли создавать динамическое веб-содержимое с помощью Erlang?
Если последнее, попробуйте YAWS. Если первое, взгляните на исходный код YAWS для вдохновения
.Если вам нужен очень простой в использовании веб-сервер для создания спокойных приложений или чего-то подобного, ознакомьтесь с поведением gen_webserver: http://github.com/martinjlogan/gen_web_server .