2012-07-22 50 views
11

我今天在Java Web开发开始,遇到了一些问题,我安装我的tomcat7我的Ubuntu的机器上。现在,当我浏览到本地主机//:8080,我得到默认的欢迎页面说法:不能将任何东西放入的/ var/lib中/ tomcat7/webapps /下

这是默认的Tomcat主页。它可以在本地文件系统中找到:/var/lib/tomcat7/webapps/ROOT/index.html

Tomcat7退伍军人会很高兴地得知,Tomcat的这个系统实例安装了CATALINA_HOME/usr/share/tomcat7CATALINA_BASE/var/lib/tomcat7,以下从/usr/share/doc/tomcat7-common/RUNNING.txt.gz规则。

但奇怪的是,当我尝试echo $CATALINA_HOME什么也不显示。 另外,我不能在默认的/ var/lib/tomcat7/ROOT中复制/创建任何东西,尽管它只是提供了一些权限,但我想知道它是否是正确的方法吗?,

我希望做的是建立在我家里一个单独的目录,我可以把我的Web应用程序和Tomcat可以从那里读下摆。有没有办法做到这一点?在Apache中,我可以通过更改文档根目录和目录来实现,但我不知道如何为tomcat执行此操作。

+0

你检查你的''如果是CATALINA_HOME'定义.bashrc'后? – 2012-07-22 10:39:39

+2

如果你使用'apt-get'安装了tomcat,你可能会考虑删除它并[使用独立版本的tomcat](http://stackoverflow.com/questions/1567597/tomcat-on-linux-centos-incorrect-java -version/1568390#1568390),你可以将它提取到你的$ HOME目录或其他方便的地方。 – 2012-07-22 10:43:01

+0

为什么要将任何内容复制到ROOT文件夹?部署应用程序只需将其复制到webapps文件夹,或使用Tomcat管理器。 – Tomer 2012-07-22 12:40:22

回答

10

但奇怪的是,当我尝试echo $ CATALINA_HOME时,什么都没有显示出来。

这是因为包装的版本设置CATALINA_HOME只是在发布之前的Tomcat,从配置文件看完后(通常在/ etc地方)。

我也不能复制/创建默认 的/ var/lib中/ tomcat7/ROOT什么,虽然它只是一个提供几个 权限的问题,但我不知道它是否是做的正确方法?

权限问题与您不是根(或Tomcat用户)有关。大多数包装Tomcat的安装(DEB或RPM)往往在考虑到具体的用户,并为不同的,有时是行不通的复制的东西来安装。

/usr/share/tomcat7是你CATALINA_HOME目录,它链接到其他目录,如/var/lib/tomcat7/webapps/etc/tomcat7,等你不应该直接复制到Web应用程序,你应该打包的Web应用程序为WAR文件和“部署“它。优点很多。

我想要做的是在我的家里创建一个单独的目录 我可以把我的web应用程序和tomcat从那里读取下摆。 有没有办法做到这一点?

是的,一个是在“部署Web应用程序”时创建的。放眼标准Tomcat7文档,并考虑安装“经理”的Web应用程序,如果你喜欢一个非命令行界面。现在你知道一个Web应用程序的“安装”被调用了,它可能是一个更容易的任务。

在Apache中,我可以通过更改文档根目录和目录,但 做,我不知道如何做到这一点为Tomcat

Tomcat有不同的,稍微组更严格的要求为文档根。你需要学习它,并且接受它永远不会相同的想法。基本上在“webapps”目录下,是WAR文件或来自WAR文件的扩展目录。就地编辑对Tomcat来说不是一个好主意,因为每次运行时都不从磁盘读取CGI等价物,而是将它们链接到Tomcat的内存中。这意味着目录中的更改可能不会影响您的Web应用程序,这足以满足不必更改部署的Web应用程序的磁盘文件的麻烦。

修改Web应用程序,重新包装它并更新部署。这真的是Tomcat的“正确”方式。

+0

感谢您的详细信息..与此同时,我删除了tomcat,下载了一个tar文件,并将它解压缩到我的home文件夹中,添加了几个符号链接之后,即使使用eclipse也可以对其进行修补...它从此运行得非常好(至少直到现在)......你认为我以后会遇到一些问题吗?......或者为什么这不是正确的做法? – Sudh 2012-07-26 15:13:24

+0

您遇到的问题种类将是与IT管理有关的问题种类,而不是涉及开发人员的问题种类。基本上,日志记录不与操作系统的其他部分集成,启动/关闭未与操作系统集成,配置文件不在操作系统存储配置文件的位置,操作系统不能通过二进制默认访问,没有专用用户限制操作系统范围,库不与操作系统库集成,临时空间不在操作系统保留的临时空间内。你的设置对开发很好,只是不要这样部署 – 2012-07-26 15:18:10

5

给予许可777到根目录文件夹

sudo chmod -R 777 Webroot 

移动到tomcat文件夹

+5

'sudo chmod -R 777/var/lib/tomcat7/webapps' – vanguard69 2015-12-15 10:18:28