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, hot deployment 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.