小编典典

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

tomcat

我想让Apache /var/www成为我的Railo
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"/>

现在,当我将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

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

非常感谢您的帮助!


阅读 241

收藏
2020-06-16

共1个答案

小编典典

您已经为根上下文正确设置了Tomcat主机的上下文,并为此设置了文档库(Web根)/var/www

<Context path="" docBase="/var/www" />

但是,这告诉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,并且在home目录中有一个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

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

请记住,这里没有讨论将Apache HTTPD Web服务器连接到Railo /
Tomcat的任何内容。您可能想在这里这里阅读有关Apache到Tomcat代理选项的信息。Railo
Wiki也包含“ 安装指南”部分。

2020-06-16