如何将Mojolicious应用程序部署到生产服务器上?

时间:2013-04-09 08:07:30

标签: perl mojolicious

我一直在开发我的第一个Mojolicious应用程序。直到现在我一直在从开发目录运行它,但现在我想在生产服务器上安装。 mojo generate app生成了目录templates /和public /,我一直用它来存储模板和静态文件。我使用Dist :: Zilla创建了一个简单的发行版,但是在运行时我无法获得templates /和public /。

我带来的解决方案是将templates /和public /移动到一个新目录share /中,让File :: ShareDir(或Dist :: Zilla的ShareDir插件)选择它,以便我可以配置相应的我的* _mode方法中的路径:

sub development_mode{
    my $app = shift;
    push @{$app->static->paths}, rel2abs(catdir('share', 'public') );
    push @{$app->renderer->paths}, rel2abs(catdir('share', 'templates') );
}

sub production_mode{
    my $app = shift;
    push @{$app->static->paths}, catdir(dist_dir('FooBar'), 'public') ;
    push @{$app->renderer->paths}, catdir(dist_dir('FooBar'), 'templates') ;
}

有更正式的方法吗?

1 个答案:

答案 0 :(得分:1)

不,这就是我如何做到这一点,Galileo和我为你做的更通用的插件:Mojolicious::Plugin::InstallablePaths