これは、これを行う方法を順を追って説明した良いガイドですが、フランス語です (それでも理解できます)。
http://www.catapulse.org/articles/view/124
ここにコピーしました:
Catalyst アプリを実行するユーザーをセットアップします (この例では www-data)。
su - www-data
curl -kL http://install.perlbrew.pl | bash
echo 'source ~/perl5/perlbrew/etc/bashrc' >> .profile
. .profile
perlbrew install perl-5.16.3 -Dusethreads --as perl-5.16.3_WITH_THREADS
perlbrew switch perl-5.16.3_WITH_THREADS
#perlbrew install-cpanm
#cpanm Catalyst Catalyst::Devel
#catalyst.pl myapp
(あなたのアプリケーション名は myapp だと思います。あなたのものに置き換えてください。)
/etc/nginx/sites-enabled/myapp を作成します
server {
listen 80;
server_name exemple.com *.exemple.com;
client_max_body_size 50m;
location / {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_NAME '';
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_pass unix:/var/www/myapp/myapp.socket;
}
location /static {
root /var/www/myapp/root;
expires 30d;
}
}
/var/www/myapp/myapp.fastcgi.initd を作成します
#!/usr/bin/env perl
use warnings;
use strict;
use Daemon::Control;
# 1) create initd file
# ./myapp.fastcgi.initd get_init_file > /etc/init.d/cat-myapp
#
# 3) install to runlevels
# update-rc.d cat-myapp defaults
my $app_home = '/var/www/myapp';
my $perl = 'perl';
my $program = $app_home . '/script/myapp_fastcgi.pl';
my $name = 'myapp';
my $workers = 1;
my $pid_file = $app_home . '/myapp.pid';
my $socket = $app_home . '/myapp.socket';
Daemon::Control->new({
name => $name,
lsb_start => '$nginx',
lsb_stop => '$nginx',
lsb_sdesc => $name,
lsb_desc => $name,
path => $app_home . '/myapp.fastcgi.initd',
user => 'www-data',
group => 'www-data',
directory => $app_home,
program => "$perl $program --nproc $workers --listen $socket",
pid_file => $pid_file,
stderr_file => $app_home . '/myapp.out',
stdout_file => $app_home . '/myapp.out',
fork => 2,
})->run;
ファイルにパーミッションを設定し、適切な init ファイルを作成します。
$ chmod +x myapp.fastcgi.initd
$ ./myapp.fastcgi.initd get_init_file > /etc/init.d/cat-myapp
アプリケーションを起動し、Web サーバーをバウンスします。
$ /etc/init.d/cat-myapp start
$ /etc/init.d/nginx restart