File: DevelopmentServer.pod

package info (click to toggle)
libcatalyst-manual-perl 5.9013-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 780 kB
  • sloc: perl: 5; makefile: 2
file content (61 lines) | stat: -rw-r--r-- 1,688 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
=head1 NAME

Catalyst::Manual::DevelopmentServer - Development server deployment

The development server is a mini web server written in Perl. However, if
you supply the C<-f> option to the development server, it will load the
higher performance L<Starman> server, which can be used as an
application server with a lightweight proxy web server at the front.

=head1 Setup

=head2 Start up the development server

   script/myapp_server.pl -p 8080 -k -f --pidfile=/tmp/myapp.pid

You will probably want to write an init script to handle stop/starting
the app using the pid file.

=head2 Configuring Apache

Make sure mod_proxy is enabled and add:

    # Serve static content directly
    DocumentRoot /var/www/MyApp/root
    Alias /static /var/www/MyApp/root/static

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    # Need to specifically stop these paths from being passed to proxy
    ProxyPass /static !
    ProxyPass /favicon.ico !

    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

    # This is optional if you'd like to show a custom error page
    # if the proxy is not available
    ErrorDocument 502 /static/error_pages/http502.html

You can wrap the above within a VirtualHost container if you want
different apps served on the same host.

=head2 Other web servers

The proxy configuration above can also be replicated with a different
frontend server or proxy, such as varnish, nginx, or lighttpd.

=head1 AUTHORS

Catalyst Contributors, see Catalyst.pm

=head1 COPYRIGHT

This library is free software. You can redistribute it and/or modify it under
the same terms as Perl itself.

=cut