source: bookmarks/trunk/start @ 102

Last change on this file since 102 was 102, checked in by peter, 9 years ago
  • allow a server_root key in the server config to set the root directory fdor the logs and pid file
  • updated the cpanfile to include more of the modules required for the web app to operate
  • Property svn:executable set to *
File size: 928 bytes
Line 
1#!/usr/bin/perl -w
2use strict;
3
4use FindBin;
5use lib "$FindBin::RealBin/lib";
6
7use Getopt::Long;
8use YAML;
9use Plack::Runner;
10use BookmarksApp;
11use File::Spec::Functions qw{catfile};
12
13GetOptions(
14    'file=s' => \my $CONFIG_FILE,
15);
16
17$CONFIG_FILE ||= 'server.yml';
18-e $CONFIG_FILE or die "Config file $CONFIG_FILE not found\n";
19my $config = YAML::LoadFile($CONFIG_FILE);
20my $app = BookmarksApp->new({ config => $config })->to_app;
21
22my $server_root = $config->{server_root} || '.';
23my $listen      = ':' . ($config->{port} || 5000);
24my $access_log  = catfile($server_root, 'access');
25my $error_log   = catfile($server_root, 'errors');
26my $pid_file    = catfile($server_root, 'pid');
27
28my $runner = Plack::Runner->new(server => 'Starman');
29$runner->parse_options(
30    '--daemonize',
31    '--listen',     $listen,
32    '--pid',        $pid_file,
33    '--error-log',  $error_log,
34    '--access-log', $access_log,
35);
36$runner->run($app);
Note: See TracBrowser for help on using the repository browser.