我今天开始使用JAVA Web开发并遇到一些问题,我在我的ubuntu机器上安装了tomcat7。现在当我浏览到// localhost:8080时,我得到了默认的欢迎页面:
这是默认的Tomcat主页。它可以在本地文件系统上找到:/var/lib/tomcat7/webapps/ROOT/index.html
Tomcat7资深人士可能会高兴地获悉Tomcat的这个系统实例是CATALINA_HOME
中的/usr/share/tomcat7
和CATALINA_BASE
/var/lib/tomcat7
中的/usr/share/doc/tomcat7-common/RUNNING.txt.gz
,符合{{1}的规则}}
但奇怪的是,当我尝试echo $CATALINA_HOME
时,没有任何东西出现。
另外我不能在默认的/ var / lib / tomcat7 / ROOT中复制/创建任何东西,虽然它只是提供一些权限,但我想知道它是否是正确的方法呢?
我想要做的是在我的家中创建一个单独的目录,我可以放置我的Web应用程序,tomcat可以从那里读取下摆。有办法吗?在apache中,我可以通过更改文档根目录来实现,但我不知道如何为tomcat执行此操作
答案 0 :(得分:10)
但奇怪的是,当我尝试echo $ CATALINA_HOME时,没有任何显示。
这是因为打包版本在启动Tomcat之前设置CATALINA_HOME
,之后从配置文件(通常是/ etc中的某个位置)读取它。
此外,我无法在默认情况下复制/创建任何内容 / var / lib / tomcat7 / ROOT虽然只是提供少量的问题 权限,但我想知道这是否是正确的方法吗?
权限问题与您不是root用户(或Tomcat用户)有关。大多数打包的Tomcat安装(deb或RPM)都倾向于在特定用户的情况下安装,并且有时将内容复制到不同的内容将不起作用。
/usr/share/tomcat7
是您的CATALINA_HOME
目录,它包含指向其他目录的链接,例如/var/lib/tomcat7/webapps
,/etc/tomcat7
等。您不应该直接复制到在Web应用程序中,您应该将Web应用程序打包到WAR文件中并“部署”它。优点很多。
我想要做的是在我家创建一个单独的目录 我可以把我的web应用程序和tomcat从那里读取下摆。 有办法吗?
是的,在“部署Web应用程序”时创建了一个。查看标准的Tomcat7文档,如果您喜欢非命令行界面,请考虑安装“manager”Web应用程序。既然您知道调用Web应用程序的“安装”,那么这可能是一项更容易的任务。
在apache中我可以通过更改document-root和目录来实现 我不知道如何为tomcat做这件事
Tomcat对文档根有一组不同的,限制性更强的要求。你需要学习它,并且只是接受它永远不会是相同的想法。基本上在“webapps”目录下,是WAR文件或来自WAR文件的扩展目录。就地编辑对于Tomcat来说不是一个好主意,因为每次运行时都不会从磁盘读取CGI等价物,它们会链接到Tomcat的内存中。这意味着目录中的更改可能不会影响您的Web应用程序,这足以让您不必更改已部署的Web应用程序的磁盘文件。
修改Web应用程序,重新打包并更新部署。这真的是与Tomcat一起使用的“正确”方式。
答案 1 :(得分:0)
但奇怪的是,当我尝试echo $ CATALINA_HOME时,没有任何显示。
如果使用此命令安装了tomcat7
sudo apt-get install tomcat7
/ usr / share / tomcat7是你的CATALINA_HOME,你需要在/.bashrc文件中将其添加为环境变量。
sudo vi ~/.bashrc
您可以将此信息添加到文件末尾:
export JAVA_HOME=/usr/lib/jvm/default-java
export CATALINA_HOME=/usr/share/tomcat7
保存并退出.bashrc。您可以通过重新启动bashrc文件来使更改生效。
. ~/.bashrc
现在,您将看到echo $ CATALINA_HOME的路径。