如何将/ var/www声明为Tomcat和Railo ROOT?

flh*_*lhe 2 coldfusion tomcat web-applications root railo

我想让Apache /var/www成为我的铁路CMS的根源吗?我将railo.war放入/var/lib/tomcat6/webapps并将以下内容放入我的/etc/tomcat6/server.xml:

<Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/var/www"/>
Run Code Online (Sandbox Code Playgroud)

现在,当我将一个index.cfm放入/ var/www并转到http://localhost我收到以下错误

Railo [3.2.2.000] - Error (java.io.IOException)
Message No such file or directory
Cause   java.io.IOException
Java Stacktrace 
No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method):-2
at java.io.File.createNewFile(File.java:883):883
at railo.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:220):220
at railo.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:209):209
at railo.commons.io.IOUtil.copy(IOUtil.java:135):135
Run Code Online (Sandbox Code Playgroud)

显然,Railo不接受.cfms在webapps文件夹之外?

非常感谢帮助!

Jam*_*rug 6

您已为根上下文和文档库(Web根)正确设置了Tomcat主机的上下文,/var/www其中包含:

<Context path="" docBase="/var/www" />
Run Code Online (Sandbox Code Playgroud)

但是,这告诉Tomcat Web应用程序存在,/var/www但您尚未将WAR的内容部署到该位置.你把你的railo.war放在下面/var/lib/tomcat6/webapps,这告诉我你可能已经使用了tomcat6包的标准Ubuntu存储库安装.如果这个假设是正确的,那么您应该能够http://localhost:8080/railo/默认浏览到您的Railo WAR .

你想要做的是提取你的railo.war文件并将其内容放在下面/var/www(即WEB-INFWAR中的文件夹).下面是一些命令,允许您/var/www/使用<Host>您在问题中指定的配置正确部署Railo WAR .我假设你在tomcat6安装了软件包的Ubuntu上,并在你的主目录中有一个Railo WAR文件~/railo.war.Ubuntu tomcat6软件包以Tomcat的身份运行tomcat6,因此您可能希望为该用户提供文件/目录所有权,否则Railo将无法将任何文件写入磁盘.

# Change directory to destination for Railo WAR contents:
cd /var/www

# Extract Railo WAR contents:
sudo jar xvf ~/railo.war

# Give Tomcat user file ownership:
sudo chown -R tomcat6 /var/www/

# Restart Tomcat service to ensure root app is picked up:
sudo service tomcat6 restart
Run Code Online (Sandbox Code Playgroud)

您现在应该可以浏览到index.cfmRailo WAR所包含的文件,该文件http://localhost:8080/现在位于/var/www/index.cfm.

请记住,这里没有讨论将Apache HTTPD Web服务器连接到Railo/Tomcat的问题.您可能希望在此处此处阅读Apache-to-Tomcat代理选项.Railo Wiki也有此安装指南部分.