如何在Ubuntu 14.04 LTS中安装Tomcat7?


9

如果我apt-get install tomcat7正在安装损坏的tomcat7。一个简单的startup.sh会给我带来错误,而不是修正时说tomcat已经启动但在localhost:8080中什么都没有显示的错误。shutdown.sh会给我错误,甚至会抛出Java异常。这在以前的某些Ubuntu版本中并没有发生,只是在此起作用。因此,它看起来像tomcat软件包,最近没有得到维护。

当我测试我的Web应用程序时,我可以从Eclipse(顺便说一下,它也没有得到适当的维护)来工作。但是,我需要在独立的tomcat安装中进行测试。到目前为止,谷歌还没有帮助。

你们当中有人设法在Ubuntu 14.4LTS中正确安装tomcat7吗?如果是这样,您能指出我正确的方向吗?

编辑:

这是一些日志。

启动tomcat:

$ sudo /usr/share/tomcat7/bin/startup.sh 
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Tomcat started.

浏览到localhost:8080(和http://127.0.0.1:8080http://127.0.0.1http://[my network ip here]):

Oops! Google Chrome could not connect to localhost:8080

停止tomcat也失败:

$ sudo /usr/share/tomcat7/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.io.FileNotFoundException: /usr/share/tomcat7/conf/server.xml (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:466)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:370)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:457)

你可以发布startup.sh和shutdown.sh输出吗?
Lety 2014年

5
apt-get install tomcat7安装损坏的 tomcat7 是什么意思 ?
潘迪2014年

1
不幸的是,这里没有足够的细节。是什么让您认为Tomcat7已从存储库中破坏出来?有哪些症状说明呢?
托马斯·沃德

发布错误日志。而且:“但在localhost:8080中什么也没有显示”是什么意思?无效页面?连接错误页面?404?
eddieferetro'7

1
@Pandya被打断了,我的意思是apt-get正在安装一个不起作用的软件包。它不能配置,不更新,不完整,有问题……
Juan Garcia 2014年

Answers:


3

我相信您的CATALINA_BASE是不正确的,它用完了/ var / lib / tomcat7目录,并且CATALINA_HOME对于声明变量的方式是正确的。将CATALINA_HOME和CATALINA_BASE连同JAVA_HOME和JRE_HOME一起添加到/ etc / default / tomcat7中。该可执行文件在启动Servlet时通知tomcat Servlet环境如何设置。

也可以考虑将它们放在/ etc / profile中,然后将其导出到/etc/bash.bashrc中(即,导出CATALINA_HOME)。仅当您的站点没有用户登录或注册时,才应执行此操作。在不导出变量的情况下,它们仍将在本地声明。

要全局声明变量是一种方法,如果您是管理员(第4组),则可能还需要考虑将syslog移至第37组,清除rsyslog并仅使守护程序也保持运行以获取日志,以便保留强制性的访问控制),可能会考虑在您的主目录中创建一个〜/ .bash_completion或〜/ .bash_expert文件,在该目录中您会看到以下内容:

# ~/.bash_expert in regards to servlet alias
if [ -f /etc/bash_completion.d/.tomservlet ]; then
    . /etc/bash_completion.d/.tomservlet
fi
export CATALINA_HOME
export CATALINA_BASE
export JRE_HOME
export JAVA_HOME

然后在/etc/bash_completion.d/.tomservlet中创建.tomservlet文件,并添加以下内容:

CATALINA_HOME=/usr/share/tomcat7
CATALINA_BASE=/var/lib/tomcat7
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
JRE_HOME=$JAVA_HOME:/jre

完成后,将以下行添加到〜/ .bashrc中

if [ -f "$HOME/.bash_expert" ];then
    . "$HOME/.bash_expert"
fi

然后,发送〜/ .bashrc文件,如下所示:

:~$ source .bashrc

无论发生哪种类型的客户端交互,它都应该以安全的方式解决您的问题。(不要紧紧抓住我,你永远不知道火星人潜伏在网络空间中,有时这可能是一个可怕的境界)。

PS我以前指的是oracle-sun jdk7,或者我猜它只是Oracle Jdk7,所以如果您使用的是Open Jdk,请根据需要替换它,如果使用的是oracle,请返回到/etc/init.d/tomcat文件并进行更改openjdk到您的版本,脚本指向“ $ OPENJDK”。这也假定您是从存储库安装的。

祝你好运,并祝您tomcat呜呜!


如果localhost:8080 可以正常运行,但是 server_IP_address:8080 无法正常工作该怎么办 ....上述程序是否可以正常工作.....
Ashwani Kumar Rahul 2016年

8

我在新鲜的容器上尝试过:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

在我看来,这似乎可以解决该问题。

编辑:dpkg-reconfigure将用默认的数据包管理器配置替换您的tomcat7的自定义配置,或者在给定的情况下,将显示一个自定义菜单。


试过这个,可悲的是没有为我解决错误。打破了我也安装,绑定异常等
约翰小

应该添加的内容是,重新配置将给定软件包的软件包管理器的默认自定义文件替换为所有自定义文件。
user283885 '16

2
  1. 从他们的网站下载官方的tomcat

    wget http://mirrors.fe.up.pt/pub/apache/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.zip
    
  2. 解压缩

    unzip apache-tomcat-7.0.54.zip       
    
  3. 确保已安装Java并定义了JAVA_HOME

  4. 启动您的tomcat。


0

尝试通过像服务一样启动它 service tomcat7 start.

我已经在本地(ubuntu 14.04)上尝试过并且可以使用。它给了我de JAVA_HOME一个问题,但是我已经通过这种方式修复了它并可以工作:

1-编辑tomcat的配置文件:

vim /etc/default/tomcat7

2-搜索JAVA_HOME行(已注释),并输入如下内容:

JAVA_HOME=/usr/lib/jvm/<your-jvm>

pe:

JAVA_HOME=/usr/lib/jvm/java-7-oracle

保存并启动tomcat,就像服务一样:

root@skynet:/etc/init.d# service tomcat7 start
 * Starting Tomcat servlet engine tomcat7  

root@skynet:/etc/init.d# service tomcat7 stop
 * Stopping Tomcat servlet engine tomcat7

0

安装eclipse和defult jdk和git

$ sudo apt-get eclipse
$ sudo apt-get eclipse-jdt
$ sudo apt-get eclipse-pde
$ sudo apt-get eclipse-platform
$ sudo apt-get eclipse-rcp

$ sudo apt-get install default-jdk
$ sudo apt-get install ant git

我使用ssh是因为它是用于测试的虚拟机
1下载文件“ tomcat7.0 apache下载”

$ wget http://apache.claz.org/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz

2提取ls

$ sudo tar -xvf apache-tomcat-7.0.54.tar.gz

3在

$ sudo mkdir /usr/local/tomcat7

4将文件移动到目录

$ mv apache-tomcat-7.0.54 /usr/local/tomcat7

5安装

$ cd /usr/local/tomcat7/apache-tomcat-7.0.54
$ sudo ln -s /var/lib/tomcat/conf conf
$ sudo ln -s /etc/tomcat7/policy.d/03catalina.policy/conf/catalina.policy
$ sudo ln -s /var/log/tomcat7 log
$ sudo chmor -R 777 /usr/local/tomcat7/apach*/conf

6配置现在我们进入ubuntu桌面

Lunch eclipse => window => Preferences => Server => Runtime Envirenment


选择版本浏览目录=>完成

$ cd ../../apach*/bin
$ ls -la 

关掉它

$ sudo ./shutdown.sh

让我们进行测试

eclipse => file => new => other... => web project

doulble click it => right click web content => test.htm 

<html>
<head>
<title> testing tomcat7 & eclipse</title>
</head>
<h2>Job's Done !</h2>

click on 'no servers are ....' => tomcat version => next => add to configured 
menu => run => run as => fninish
localhost:8080/test/test.htm
localhost:8080/project name/page name

视频教程:“ http://www.youtube.com/watch?v=n5joqK07-NE '


$ sudo service tomcat7 restart输出是tomcat7: unrecognized service
胡安·加西亚

$ cd / opt / local / tomcat7 / bin $ ls,您会发现shell脚本文件im不能完全确定它的名称是否可以重新启动。sh通过$ sudo将其执行。然后关闭,然后通过$ sudo startup.sh重新启动$ sudo shutdown.sh $ sudo startup.sh
hwez 2014年

/ opt / local / tomcat7 / bin不存在,位于/ usr / share / tomcat7 / bin下。startup.sh表示tomcat已启动,但浏览器无法在localhost:8080中看到任何内容(也尝试使用本地ip)。shutdown.sh显示警告并引发异常。我将使用日志更新问题
Juan Garcia 2014年

更新:我已经发布了我的日志
Juan Garcia

/ opt / tomcat / bin或/ opt / tomcat7或/ etc / tomcat7或/ etc / tomcat(如果找不到)cd / opt; ls -lh && cd / etc; ls -ls放入pastebin并注释它,我将安装tocat7并对其进行检查
hwez 2014年

0

我在Ubuntu 14.04 LTS中安装和运行Tomcat 7没问题。只是为了确保,我查阅了bash的历史记录。请注意,我首先安装了Oracle Java(以防万一)

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

然后是Tomcat

sudo apt-get install tomcat7

命令

sudo service tomcat7 restart

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.