热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

不能将任何东西放入/var/lib/tomcat7/webapps/?-Cannotputanythinginto/var/lib/tomcat7/webapps/

IwasstartingonJAVAwebdevelopmenttodayandencounteredsomeproblems,Iinstalledmytomcat7o

I was starting on JAVA web development today and encountered some problems, I installed my tomcat7 on my ubuntu machine. Now when I browse to //localhost:8080, I get the default welcome page saying:

我今天从JAVA web开发开始,遇到了一些问题,我在我的ubuntu机器上安装了tomcat7。现在,当我浏览到//localhost:8080时,我得到默认的欢迎页面:

This is the default Tomcat home page. It can be found on the local filesystem at: /var/lib/tomcat7/webapps/ROOT/index.html

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

Tomcat7 veterans might be pleased to learn that this system instance of Tomcat is installed with CATALINA_HOME in /usr/share/tomcat7 and CATALINA_BASE in /var/lib/tomcat7, following the rules from /usr/share/doc/tomcat7-common/RUNNING.txt.gz.

Tomcat7的退役人员可能会很高兴地得知,这一系统实例是在/usr/share/tomcat7和CATALINA_BASE中与CATALINA_HOME一起安装的,这是在/usr/share/doc/tomcat7-common/RUNNING.txt.gz的规则下完成的。

But strangely when I try echo $CATALINA_HOME nothing shows up. Also I can not copy/create anything in the default /var/lib/tomcat7/ROOT though it's just a matter of providing few permissions but I was wondering whether it is the right way to do it?,

但奇怪的是,当我尝试echo $CATALINA_HOME时,什么也没有出现。另外,我不能复制/创建默认的/var/lib/tomcat7/ root中的任何东西,尽管这只是提供一些权限的问题,但是我想知道这是否是正确的方法?

What I would like to do is create a separate directory in my home where I can put my web application and tomcat can read hem from there. Is there a way to do it? In apache I can do it by changing the document-root and directory but I don't know how to do it for tomcat

我想做的是在我的家里创建一个单独的目录,我可以将我的web应用程序和tomcat从那里读取。有办法吗?在apache中,我可以通过更改文档根目录和目录来实现它,但是我不知道如何为tomcat执行它。

3 个解决方案

#1


10  

But strangely when I try echo $CATALINA_HOME nothing shows up.

但奇怪的是,当我尝试echo $CATALINA_HOME时,什么也没有出现。

This is because the packaged version sets CATALINA_HOME just prior to launching Tomcat, after reading it from a configuration file (typically somewhere in /etc).

这是因为在从一个配置文件(通常是在/etc)中读取它之前,打包的版本在启动Tomcat之前设置了CATALINA_HOME。

Also I can not copy/create anything in the default /var/lib/tomcat7/ROOT though it's just a matter of providing few permissions but I was wondering whether it is the right way to do it?

另外,我不能复制/创建默认的/var/lib/tomcat7/ root中的任何东西,尽管这只是提供一些权限的问题,但是我想知道这是否是正确的方法?

The permissions problem has to do with you not being root (or the Tomcat user). Most packaged Tomcat installations (deb or RPM) tend to install with a specific user in mind, and copying stuff in as a different sometimes won't work.

权限问题与您不作为根(或Tomcat用户)有关。大多数打包的Tomcat安装(deb或RPM)都倾向于将特定的用户放在脑海中,而将其复制到不同的地方有时是行不通的。

/usr/share/tomcat7 is your CATALINA_HOME directory, and it has links to the other directories, such as /var/lib/tomcat7/webapps, /etc/tomcat7, etc. You shouldn't copy directly into a web application, you should package the web application into a WAR file and "deploy" it. The advantages are numerous.

/usr/share/tomcat7是您的CATALINA_HOME目录,它与其他目录有链接,比如/var/lib/tomcat7/webapps、/etc/tomcat7等。您不应该直接复制到web应用程序中,您应该将web应用程序打包到WAR文件中并“部署”它。有很多的优势。

What I would like to do is create a separate directory in my home where I can put my web application and tomcat can read hem from there. Is there a way to do it?

我想做的是在我的家里创建一个单独的目录,我可以将我的web应用程序和tomcat从那里读取。有办法吗?

Yes, one is created when "deploying a web app". Look to the standard Tomcat7 documentation, and consider installing the "manager" web application if you like a non-command line interface. Now that you know what "installation" of a web app is called, it will likely be an easier task.

是的,一个是在“部署一个web应用程序”时创建的。看看标准的Tomcat7文档,如果您喜欢一个非命令行界面,可以考虑安装“manager”web应用程序。既然您已经知道了web应用程序的“安装”,那么它可能是一项更简单的任务。

In apache I can do it by changing the document-root and directory but I don't know how to do it for tomcat

在apache中,我可以通过更改文档根目录和目录来实现它,但是我不知道如何为tomcat执行它。

Tomcat has a different, slightly more restrictive set of requirements for a document-root. You need to learn it, and just come to terms with the idea that it's never going to be the same. Basically under the "webapps" directory, is a WAR file or a expanded directory that came from a WAR file. Editing in-place is not a good idea for Tomcat, as the CGI-equivalents are not read from disk each time they are ran, they are linked into the memory of Tomcat. This means that a change in the directory might not affect your web application, which is good enough reason to not bother changing the on-disk files for a deployed web application.

Tomcat对文档根有一个不同的、略微更严格的需求集。你需要学习它,并且接受它永远不会是一样的观点。基本上在“webapps”目录下,是WAR文件,或者是来自WAR文件的扩展目录。对Tomcat来说,对其进行编辑不是一个好主意,因为它们每次运行时都不会从磁盘上读取,它们会链接到Tomcat的内存中。这意味着目录中的更改可能不会影响您的web应用程序,这足以使您不必为已部署的web应用程序更改磁盘上的文件。

Modify the web application, repackage it, and update the deployment. It's really the "right" way to go with Tomcat.

修改web应用程序,重新打包它,并更新部署。这是与Tomcat一起使用的“正确”方法。

#2


5  

Give permission 777 to the webroot folder

向webroot文件夹授予权限777。

sudo chmod -R 777 Webroot

After moving to the tomcat folder

移动到tomcat文件夹后。

#3


0  

But strangely when I try echo $CATALINA_HOME nothing shows up.

但奇怪的是,当我尝试echo $CATALINA_HOME时,什么也没有出现。

If you installed tomcat7 by using this command

如果您使用此命令安装tomcat7。

sudo apt-get install tomcat7

/usr/share/tomcat7 is your CATALINA_HOME though, you need to add this as an environment variable in the /.bashrc file.

/usr/share/tomcat7是您的CATALINA_HOME,您需要将其添加为/中环境变量。bashrc文件。(

sudo vi ~/.bashrc

You can add this information to the end of the file:

您可以将此信息添加到文件的末尾:

export JAVA_HOME=/usr/lib/jvm/default-java
export CATALINA_HOME=/usr/share/tomcat7

Save and exit out of .bashrc. You can make the changes effective by restarting the bashrc file.

保存并退出.bashrc。您可以通过重新启动bashrc文件使更改生效。

. ~/.bashrc

Now, you would see the path when echo $CATALINA_HOME.

现在,你会看到echo $CATALINA_HOME的路径。

Reference

参考


推荐阅读
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • Spring Security基础配置详解
    本文详细介绍了Spring Security的基础配置方法,包括如何搭建Maven多模块工程以及具体的安全配置步骤,帮助开发者更好地理解和应用这一强大的安全框架。 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • 本文探讨了Python类型注解使用率低下的原因,主要归结于历史背景和投资回报率(ROI)的考量。文章不仅分析了类型注解的实际效用,还回顾了Python类型注解的发展历程。 ... [详细]
  • 本文探讨了如何在Docker构建过程中使用动态环境变量,特别是针对Docker v1.9及以上版本的用户。我们将介绍如何声明和使用构建参数,以及这些参数对构建缓存的影响。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
author-avatar
欣欣2602916441
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有