📄 isp.xtp
字号:
<s1 title="ISP with Apache"><summarylist/><s2 title='File locations'><p>This sample configuration has Resin home in /usr/local/resin-2.0 andthe user's server root set to /home/slytherin/resin.</p><p>The user will create her application in /home/slytherin/resin/doc,putting classes in doc/WEB-INF/classes and jars in doc/WEB-INF/lib. Ifshe uses a war file, she can put it in /home/slytherin/resin/webapps.Resin will expand the war automatically.</p><deftable><tr><th>Directory<th>Contents<tr><td>/usr/local/resin-2.0<td>root owned Resin home<tr><td>/usr/local/resin-2.0/conf/slytherin.conf<td>root-owned slytherin configuration<tr><td>/home/slytherin/resin<td>User's server root<tr><td>/home/slytherin/resin/doc<td>User's documents<tr><td>/home/slytherin/resin/doc/WEB-INF/web.xml<td>Any user-specific configuration<tr><td>/home/slytherin/resin/doc/WEB-INF/classes<td>The user's Java classes<tr><td>/home/slytherin/resin/doc/WEB-INF/lib<td>The user's jars<tr><td>/home/slytherin/resin/webapps<td>auto-expanding war directory<tr><td>/home/slytherin/resin/log/stdout.log<td>JVM's standard output<tr><td>/home/slytherin/resin/log/stderr.log<td>JVM's standard error<tr><td>/home/slytherin/resin/log/error.log<td>Servlet errors<tr><td>/home/slytherin/resin/resin.pid<td>JVM's saved process id</deftable></s2><s2 title='slytherin.conf'><p>In this configuration, each JVM gets its own configuration file.The slytherin.conf is owned and managed by root. By having rootcontrol the configuration, you can make sure the mod_caucho/Resincommunication is properly configured.</p><p>The user can customize the configuration by adding adoc/WEB-INF/web.xml file following the servlet deployment descriptor.ISPs that want give more flexibility can add a <resin:include> directiveto read a user configuration file.</p><example title='slytherin.conf'><caucho.com> <http-server> <app-dir>doc</app-dir> <srun host='slytherin.caucho.com' port='6802'/> <host id='slytherin slytherin.caucho.com'> <error-log id='log/error.log'/> <war-dir>webapps</war-dir> <web-app id='/'> <servlet-mapping url-pattern='*.jsp' servlet-name='jsp'/> <servlet-mapping url-pattern='*.xtp' servlet-name='xtp'/> </web-app> </host> </http-server></caucho.com></example><deftable><tr><th>Element<th>Description<tr><td>app-dir<td>Configures the document directory as a subdirectory ofserver-root.<tr><td>srun<td>Configures the srun port Resin will listen for Apacherequests. Browsing http://slytherin/caucho-status will show thestatus of the link.<tr><td>host<td>Configures the virtual host. The host name must matchthe Apache <var/ServerName/>. Multiple host names are allowed as aliases.<tr><td>error-log<td>Servlet error log, relative to $SERVER_ROOT,not $APP_DIR. So it'll appear in resin, not doc.<tr><td>war-dir<td>Directory where the user can put foo.war files. Thefile will be automatically expanded and create an application named foo.<tr><td>web-app<td>Defines the user's root application.<tr><td>servlet-mapping<td>Defines *.jsp and *.xtp as extensions handledby Resin. mod_caucho needs these to know which files to dispatch to Resin.Any other servlet-mappings should be defined in WEB-INF/web.xml.</deftable></s2><s2 title="Apache httpd.conf"><p>Each Apache virtual host use its own resin.conf file. You canlook at the configuration using /caucho-status for the virtual host,as usual.</p><p>The <var/ServerName/> is particularly important. mod_cauchosends the value of ServerName to the JVM so Resin can choosea virtual host. The ServerName value must match the <host> value.</p><example>...<VirtualHost slytherin.caucho.com>ServerAlias www.slytherin.caucho.com slytherinServerName slytherin.caucho.comCauchoConfigFile /usr/local/resin-2.0/conf/slytherin.conf</VirtualHost>...</example></s2><s2 title="Starting script"><p>ISPs will generally start the server on system startup as root froman init script. However, the JVM should be running as the user toavoid permission problems.</p><p>The main tasks of the script are to change to the user by using "su"and to set the server-root to the user's root. The server root needs tochange to the user's directory so the JVM can write its logs and openany needed caching or other temporary files.</p><p>An ISP could provide this script to the user afterremoving the "su $USER". That will give the user a way to start and stopthe JVM if necessary.</p><example title="slytherin-start.sh">#!/bin/shJAVA_HOME=/usr/javaexport JAVA_HOMERESIN=/usr/local/resin-2.0USER=slytherinROOT=/home/$USER/resinsu $USER -c "$RESIN/bin/httpd.sh -server-root $ROOT \ -conf $RESIN/conf/$USER.conf \ start"</example></s2><s2 title="Sample Installation Order"><ol><li>Untar resin-2.0.x.tar.gz into /usr/local/resin-2.0.x<li>You can change the ownership to root if you like:<example>/usr/local# find resin-2.0.x -exec chown root.root {} \;</example><li>create conf/slytherin.conf and modify Apache's httpd.conf to point to it.<li>Restart Apache.<li>Browse http://slytherin/caucho-status. The status should be red (off),and the host:port and url mappings should match.<li>Create /home/slytherin/resin as "slytherin".<li>Create the slytherin-start.sh script.<li>Start the stytherin-start.sh script. Error messages will appear inthe /home/slytherin/resin/log files.root with the <li>Resin should now be running as the user. /caucho-status should nowbe green (on) and JSP files should work.<li>You'll probably want to create rc.d/init.d scripts to automaticallystart Resin on system startup. Make sure you set any needed environmentvariables like JAVA_HOME.</ol></s2></s1>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -