![]() |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Resin 3.1 Documentation Examples Changes Overview Installation Configuration Quercus SOA/IoC JSP Servlets and Filters Admin (JMX) EJB Amber Security Performance Hessian XML and XSLT Third-party Troubleshooting/FAQ Command-Line Options Tags Common Tasks Relax Schema howto Config FAQ Scrapbook DB Scrapbook Environment tags <resin> <cluster> <server> Port tags <host> <web-app> <database> Session tags Rewrite tags Service tags Log tags EL variables and functions Control tags Tag Index |
Describes the virtual host configuration tags. See Also
<access-log> child of cluster, host, web-app <access-log> configures the access log file. As a child of web-app, overrides the definition in the host that the web-app is deployed in. As a child of host, overrides the definition in the server that the host is in.
The default archive format is + ".%Y%m%d" or + ".%Y%m%d.%H" if rollover-period < 1 day.
<resin xmlns="http://caucho.com/ns/resin">
<cluster id="app-tier">
<host id="">
<access-log path='log/access.log'>
<rollover-period>2W</rollover-period>
</access-log>
</host>
</cluster>
</resin>
The access log formatting variables follow the Apache variables:
The default format is:
allows for custom logging. Applications can extend a custom class from com.caucho.http.log.AccessLog. Bean-style initialization can be used to set bean parameters in the custom class.
<resin xmlns="http://caucho.com/ns/resin">
<cluster id="app-tier">
<host id='foo.com'>
<access-log resin:type='test.MyLog'>
path='${server.root}/foo/error.log'
rollover-period='1W'>
<init>
<foo>bar</foo>
</init>
</access-log>
...
</host>
</cluster>
</resin>
Environment child of resin, cluster, host, web-app All Environment tags are available to the <cluster>. For example, resources like <database>.
<resin xmlns="http://caucho.com/ns/resin">
<cluster id="app-tier">
<server id="a" .../>
<host id="www.foo.com">
<database jndi-name="jdbc/test">
<driver type="org.postgresql.Driver">
<url>jdbc:postgresql://localhost/test</url>
<user>caucho</user>
</driver>
</database>
<web-app-default path="webapps"/>
</host>
</cluster>
</resin>
<error-page> child of cluster, host, webapp <error-page> defines a web page to be displayed when an error occurs outside of a web-app. Note, this is not a default error-page, i.e. if an error occurs inside of a <web-app>, the error-page for that web-app will be used instead. See webapp: error-page. <host> child of cluster <host> configures a virtual host. Virtual hosts must be configured explicitly.
<host host-name="www.foo.com">
<host-alias>foo.com</host-alias>
<host-alias>web.foo.com</host-alias>
<root-directory>/opt/www/www.foo.com</root-directory>
<web-app id="/" document-directory="webapps/ROOT">
</web-app>
...
</host>
<host regexp="([^.]+)\.foo\.com">
<host-name>${host.regexp[1]}.foo.com</host-name>
<root-directory>/var/www/hosts/www.${host.regexp[1]}.com</root-directory>
...
</host>
It is recommended that any <host> using a regexp include a <host-name> to set the canonical name for the host. <host-default> child of cluster <host-default> configures defaults for a virtual host. The host-default can contain any of the host configuration tags. It will be used as defaults for any virtual host. <host-deploy> child of cluster <host-deploy> configures an automatic deployment directory for virtual host. The host-deploy will add an EL variable \${name}, referring to the name of the host jar file.
The following example configures as a host deployment directory. Each virtual host will have a directory for .war deployment. So the directory would serve the URL .
<resin xmlns="http://caucho.com/ns/resin">
<cluster id="app-tier">
<root-directory>/var/www</root-directory>
<host-deploy path="hosts">
<host-default>
<web-app-deploy path="webapps"/>
</host-default>
</host-deploy>
</cluster>
</resin>
<rewrite-dispatch> child of cluster, host, web-app <rewrite-dispatch> defines a set of rewriting rules for dispatching and forwarding URLs. Applications can use these rules to redirect old URLs to their new replacements. See rewrite-dispatch for more details.
<resin xmlns="http://caucho.com/ns/resin">
<cluster id="app-tier">
<host host-name="www.foo.com">
<rewrite-dispatch>
<redirect regexp="^/foo" target="/index.php?foo="/>
</rewrite-dispatch>
</host>
</cluster>
</resin>
<web-app> child of host, web-app <web-app> configures a web application.
When specified by , the application will be initialized on server start. When specified by , the application will be initialized at the first request. This means that servlets may start later than expected for applications. The following example creates a web-app for /apache using the Apache htdocs directory to serve pages. <resin xmlns="http://caucho.com/ns/resin"> <cluster id="app-tier"> <host id=''> <web-app id='/apache' document-directory='/usr/local/apache/htdocs'> ... </host> </cluster> </resin> The following example sets the root web-app to the IIS root directory. <web-app id='/' document-directory='C:/inetpub/wwwroot'> When the is specified with a , can use replacement variables (). In the following, each user gets his or her own independent application using .
<resin xmlns="http://caucho.com/ns/resin">
<cluster id="app-tier">
<host id=''>
<web-app url-regexp='/~([^/]*)'
root-directory='/home/$1/public_html'>
...
</web-app>
</host>
</cluster>
</resin>
<web-app-default> child of cluster, host, web-app <web-app-default> configures common values for all web applications. <web-app-deploy> child of host, web-app <web-app-deploy> specifies war expansion. web-app-deploy can be used in web-apps to define a subdirectory for war expansion. The tutorials in the documentation use web-app-deploy to allow servlet/tutorial/helloworld to be an independent war file.
The web-app-deploy can override configuration for an expanded war with a matching <web-app> inside the <web-app-deploy>. The <document-directory> is used to match web-apps.
<resin xmlns="http://caucho.com/ns/resin">
<cluster id="app-tier">
<host host-name="www.foo.com">
<web-app-deploy path="webapps">
<web-app context-path="/wiki"
document-directory="wiki">
<context-param database="jdbc/wiki">
</web-app>
</web-app-deploy>
</host>
</cluster>
</resin>
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||