From: "Dave Rolsky" <auta...@urth.org> Subject: Re: [Catalyst] upstart script for Starman-based app?
> On Thu, 3 May 2012, Octavian Rasnita wrote: > >> Does anyone have an upstart script that can be used for automaticly starting >> a Cat app using Starman? >> >> I use Perlbrew and local::lib and I start the app in my own account and not >> as root and I don't know how to make upstart start the app under my account. >> Maybe it will be helpful to see an upstart script that works, and try to >> adapt it. > > Here's an upstart script I use for vegguide.org. Note that I have root > access to my server, so you'll need to adjust a bit. > > description "VegGuide starman server" > > start on (local-filesystems and net-device-up IFACE!=lo) > stop on runlevel [016] > > respawn > limit as 524288000 524288000 > > pre-start script > mkdir -p /var/run/vegguide > chown www-data:www-data /var/run/vegguide > > mkdir -p /var/log/vegguide > chown www-data:www-data /var/log/vegguide > end script > > exec /opt/perl5.14.2-no-threads/bin/starman --listen 127.0.0.1:8088 > --workers 12 --preload-app --user www-data --group www-data > /opt/perl5.14.2-no-threads/bin/vegguide.psgi 2>> /var/log/vegguide/error.log > > This code base is in a git repo at git://git.urth.org/VegGuide.git > > I also have a log monitor script which was watches this error log and > emails me when there are errors. I start that via upstart too, and it's > dependent on this job. > > > -dave > Hi Dave, Thank you for your script. Finally I've made it to work, although there still is one thing I don't understand... Here is my version (the paths are just for testing): description "Startup script for the web site" start on (local-filesystems and net-device-up IFACE!=lo) stop on runlevel [016] env PERL5LIB=/home/teddy/perl5/lib1/lib/perl5/i686-linux:/home/teddy/perl5/lib1/lib/perl5 env PATH=/home/teddy/perl5/perlbrew/bin:/home/teddy/perl5/perlbrew/perls/perl-5.14.2/bin:/home/teddy/perl5/lib1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games export PERL5LIB export PATH expect fork respawn exec /home/teddy/perl5/lib1/bin/starman --listen :5000 --workers 5 --max-requests 1000 --preload-app --pid /srv/log/site.pid --access-log /srv/log/access.log --error-log /srv/log/error.log --user teddy --group teddy --daemonize /srv/BRK/brk.psgi I've also tried to exec a bash script that contains the same command above (without "exec") using: exec /srv/BRK/start1.sh But I don't know why it doesn't start the app this way. If I exec the full command in the upstart script it works fine though. I've seen that the app starts fine if I don't use the expect stanza, but in that case I can't close it using the stop command. But I can start and stop it fine if I use either "expect fork" or "expect daemon". Octavian _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/