Mojolicious

From PGWiki

Mojolicious로 만들어진 웹 프레임워크 중 하나다.


Nginx + daemon

Mojolicious::Lite를 사용할 때 daemon 모드로 실행하면 아래와 같이 연동 가능...

upstream myapp
{
    server 127.0.0.1:3000;
}

server
{
    listen      80;
    server_name localhost;
    access_log  /var/log/nginx/mojo/access.log;
    error_log   /var/log/nginx/mojo/error.log;

    location /
    {
        proxy_pass          http://myapp;
        proxy_set_header    Host $http_host;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}


Nginx + FastCGI

server
{
    listen       80;
    server_name  potatogim.net;
    access_log   /var/log/nginx/potatogim.net/access.log;
    error_log    /var/log/nginx/potatogim.net/error.log;

    location /
    {
        root /var/www/nginx/example.com;

        # Mojolicious 애플리케이션이 청취하는 주소
        fastcgi_pass   127.0.0.1:3000;

        # 기본 FastCGI 매개변수
        include        /etc/nginx/fastcgi_params;

        # 매개변수 수정
        fastcgi_param  PATH_INFO $fastcgi_script_name;
    }
}

Mojo::UserAgent + AnyEvent를 통한 비동기 HTTP 요청

Mouse + Mojolicious::Controller

our $VERSION = '0.30';

use Mouse;
use MouseX::Foreign;

extends 'Mojolicious::Controller';

sub BUILDARGS {
    my $class = shift;
    return Mojo::Base->new(@_);
}


바깥 고리

Mojolicious 기반 애플리케이션

Mojolicious::Lite 기반 애플리케이션

웹소켓 애플리케이션

The following examples don't work out of the box or are related to older version of Mojolicious. Use this code as references but read the current documentation!