Mojo::Server::Daemon - Async IO HTTP 1.1 And WebSocket Server
use Mojo::Server::Daemon; my $daemon = Mojo::Server::Daemon->new; $daemon->listen('http://*:8080'); $daemon->run;
Mojo::Server::Daemon is a full featured async io HTTP 1.1 and WebSocket server with IPv6, TLS, Bonjour, epoll, kqueue and UNIX domain socket sharing support.
IPv6
TLS
Bonjour
epoll
kqueue
Optional modules IO::KQueue, IO::Epoll, IO::Socket::IP, IO::Socket::SSL and Net::Rendezvous::Publish are supported transparently and used if installed.
Mojo::Server::Daemon inherits all attributes from Mojo::Server and implements the following new ones.
group
my $group = $daemon->group; $daemon = $daemon->group('users');
Group for server process.
ioloop
my $loop = $daemon->ioloop; $daemon = $daemon->ioloop(Mojo::IOLoop->new);
Event loop for server IO, defaults to the global Mojo::IOLoop singleton.
keep_alive_timeout
my $keep_alive_timeout = $daemon->keep_alive_timeout; $daemon = $daemon->keep_alive_timeout(15);
Timeout for keep alive connections in seconds, defaults to 5.
5
listen
my $listen = $daemon->listen; $daemon = $daemon->listen('https://localhost:3000,file:///my.sock');
Ports and files to listen on, defaults to http://*:3000.
http://*:3000
listen_queue_size
my $listen_queue_size = $daemon->listen_queue_zise; $daemon = $daemon->listen_queue_zise(128);
Listen queue size, defaults to SOMAXCONN.
SOMAXCONN
max_clients
my $max_clients = $daemon->max_clients; $daemon = $daemon->max_clients(1000);
Maximum number of parallel client connections, defaults to 1000.
1000
max_requests
my $max_requests = $daemon->max_requests; $daemon = $daemon->max_requests(100);
Maximum number of keep alive requests per connection, defaults to 100.
100
silent
my $silent = $daemon->silent; $daemon = $daemon->silent(1);
Disable console messages.
user
my $user = $daemon->user; $daemon = $daemon->user('web');
User for the server process.
websocket_timeout
my $websocket_timeout = $server->websocket_timeout; $server = $server->websocket_timeout(300);
Timeout in seconds for WebSockets to be idle, defaults to 300.
300
Mojo::Server::Daemon inherits all methods from Mojo::Server and implements the following new ones.
prepare_ioloop
$daemon->prepare_ioloop;
Prepare event loop.
run
$daemon->run;
Start server.
setuidgid
$daemon->setuidgid;
Set user and group for process.
Mojolicious, Mojolicious::Guides, http://mojolicious.org.
To install Mojolicious, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious
CPAN shell
perl -MCPAN -e shell install Mojolicious
For more information on module installation, please visit the detailed CPAN module installation guide.