Each platform download is a self-contained installation of Nitrogen
that includes both Erlang and a web server. (In other words, you don't
need to have Erlang installed to run this.)
You have a choice between five popular Erlang web servers:
Cowboy, Inets, Mochiweb, Webmachine, Yaws
Not sure which server to choose? ▼
Cowboy is the newest popular webserver on the Erlang scene.
Created by Loic Hoguin, and under heavy development, it currently supports
SPDY, WebSockets, and follows a model
that differentiates itself from the other Erlang webservers: It doesn't
maintain a process dictionary. Instead, it follows a more 'pure' flow, by
passing around the a request object to each of Cowboy's functions. It's a
lightweight, high performance webserver, and extermely capable.
Inets is the built-in Erlang Webserver. It's lightweight, and
gets the job done. Its biggest benefit is that it does not require any
external dependencies, since it's a part of the standard Erlang release. If
you have a simple app that doesn't require much by way of high performance,
Inets will work.
Mochiweb is a simple webserver that sticks mostly to maintenance
releases these days, new features are rarely added. But it is a perfectly
performant and lightweight server for most web application uses.
Webmachine is a webserver with an emphasis on REST. Its main
focus is for making great RESTful APIs. The perfect use-case for using
Webmachine with Nitrogen would be to provide a powerful RESTful API for
external apps (like mobile device APIs), while also providing an
interactive interface utilizing Nitrogen for web users.
Yaws is the granddaddy of Erlang webservers. It's tried and true,
has been around for many years, and continues to improve, including adding
Websocket support. It has solid performance metrics, and has a
configuration system modelled after Apache's.
IN GENERAL if you are completely unsure which webserver to use,
we recommend choosing either Cowboy or Yaws for production environments, as
both provide quality performance, support websockets natively (though any
server can support websockets in Nitrogen), and both handle large files
smoothly.
These packages were generated from Nitrogen source code by running
make package_inets, make package_cowboy,
make package_mochiweb, make package_webmachine and
make package_yaws.
Alternatively, if you plan on contributing to the Nitrogen
source code, you can download the source tree from GitHub.