Làm cách nào để cài đặt Tomcat7 trong Ubuntu 14.04 LTS?


9

Nếu tôi apt-get install tomcat7đang cài đặt một tomcat7 bị hỏng. Một startup.sh đơn giản sẽ cung cấp cho tôi các lỗi, so với khi được sửa nói rằng tomcat đã bắt đầu nhưng không có gì hiển thị trong localhost: 8080. shutdown.sh sẽ cho tôi các lỗi và thậm chí ném ngoại lệ Java. Điều này đã không xảy ra trong một số bản phát hành Ubuntu trước đây, nơi nó chỉ hoạt động. Vì vậy, có vẻ như gói tomcat nó không được duy trì gần đây.

Tôi có thể làm cho nó hoạt động từ Eclipse (điều này cũng không được duy trì đúng cách) khi tôi đang thử nghiệm ứng dụng web của mình. Tuy nhiên, có những thứ tôi cần kiểm tra trong bản cài đặt tomcat độc lập. Cho đến nay, Google đã không giúp đỡ.

Có ai trong số các bạn quản lý để cài đặt tomcat7 đúng cách trong Ubuntu 14.4LTS không? Nếu vậy, bạn có thể chỉ cho tôi đi đúng hướng?

Biên tập:

Đây là một số nhật ký.

Bắt đầu 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.

Duyệt tới localhost:8080(và http://127.0.0.1:8080, http://127.0.0.1, http://[my network ip here]):

Oops! Google Chrome could not connect to localhost:8080

Dừng tomcat cũng thất bại:

$ 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)

bạn có thể đăng đầu ra startup.sh và shutdown.sh không?
Lety

5
Có nghĩa là gì khi apt-get install tomcat7cài đặt tomcat7 bị hỏng ?
Pandya

1
Thật không may, không có đủ chi tiết ở đây. Chính xác thì điều gì khiến bạn nghĩ rằng Tomcat7 bị hỏng từ kho lưu trữ? Những triệu chứng gợi ý điều này?
Thomas Ward

Đăng nhật ký lỗi. Và cũng: 'nhưng không có gì hiển thị trong localhost: 8080' nghĩa là gì? trang trống? Trang lỗi kết nối? 404?
eddieferetro

1
@Pandya bị hỏng Tôi có nghĩa là apt-get đang cài đặt gói không hoạt động. Nó không thể được cấu hình, không được cập nhật, không đầy đủ, lỗi ...
Juan Garcia

Câu trả lời:


3

Tôi tin rằng CATALINA_BASE của bạn không chính xác, nó chạy ra khỏi thư mục / var / lib / tomcat7 và CATALINA_HOME phù hợp với cách bạn đã khai báo biến. Thêm CATALINA_HOME và CATALINA_BASE vào / etc / default / tomcat7 cùng với JAVA_HOME và JRE_HOME. Việc thực thi đó thông báo cho servlet tomcat về cách môi trường được thiết lập khi khởi động servlet.

Nó cũng có thể được xem xét để đặt chúng vào / etc / profile và sau đó xuất chúng trong /etc/bash.bashrc (tức là xuất CATALINA_HOME). Điều này chỉ nên được thực hiện nếu và chỉ khi trang web của bạn không có đăng nhập hoặc đăng ký người dùng. Với việc xuất ra các biến, chúng vẫn sẽ được khai báo cục bộ.

Để khai báo toàn cầu các biến theo cách tiếp cận, nếu bạn là quản trị viên (nhóm 4, bạn cũng có thể muốn nghĩ về việc chuyển syslog sang nhóm 37, thanh lọc rsyslog và chỉ giữ daemon chạy cho nhật ký để bạn duy trì kiểm soát truy cập bắt buộc) có thể suy nghĩ về việc tạo tệp ~ / .bash_completion hoặc ~ / .bash_expert trong thư mục chính của bạn, nơi bạn có một cái gì đó như thế này:

# ~/.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

Sau đó tạo tệp .tomservlet trong /etc/bash_completion.d/.tomservlet và thêm vào như sau:

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

Khi đã hoàn thành, thêm các dòng sau vào ~ / .bashrc

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

Sau đó, nguồn tệp ~ / .bashrc như dưới đây:

:~$ source .bashrc

và điều đó sẽ giải quyết các vấn đề của bạn, một cách an toàn cho dù kiểu tương tác phía khách hàng nào được thực hiện. (Đừng bắt tôi phải như vậy, bạn không bao giờ biết những gì các nhà tử đạo đang ẩn nấp trong không gian ảo, đôi khi nó có thể là một cõi đáng sợ).

Tái bút openjdk cho phiên bản của bạn trong đó tập lệnh đề cập đến "$ OPENJDK". Điều này cũng giả sử bạn đã cài đặt từ kho lưu trữ.

Chúc may mắn, và có thể purr tomcat của bạn !!


Phải làm gì nếu localhost: 8080 hoạt động tốt nhưng server_IP_address: 8080 không .... quy trình trên có hoạt động không .....
Ashwani Kumar Rahul

8

Tôi đã thử điều này trên một container mới:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Nó dường như để khắc phục vấn đề trong trường hợp của tôi.

Chỉnh sửa: dpkg-recfigure sẽ thay thế cấu hình tùy chỉnh của bạn cho tomcat7 bằng cấu hình trình quản lý gói mặc định hoặc, nếu được cung cấp, nó sẽ hiển thị một menu để tùy chỉnh.


Đã thử điều này, không sửa lỗi cho tôi buồn. Đã phá vỡ cài đặt của tôi, ràng buộc ngoại lệ, vv
John Little

Nên đã thêm rằng cấu hình lại thay thế bất kỳ tệp tùy chỉnh nào bằng mặc định của người quản lý gói cho gói đã cho.
dùng283885

2
  1. Tải về tomcat chính thức từ trang web của họ

    wget http://mirrors.fe.up.pt/pub/apache/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.zip
    
  2. Giải nén nó

    unzip apache-tomcat-7.0.54.zip       
    
  3. Đảm bảo bạn đã cài đặt Java và JAVA_HOME được xác định

  4. Bắt đầu tomcat của bạn.


0

Hãy thử khởi chạy nó như một dịch vụ với service tomcat7 start.

Tôi đã thử và nó ở địa phương của tôi (ubfox 14.04) và hoạt động. Nó đã cho tôi một vấn đề với de JAVA_HOME, nhưng tôi đã khắc phục theo cách này và nó hoạt động:

1- Chỉnh sửa tập tin cấu hình của tomcat:

vim /etc/default/tomcat7

2- Tìm kiếm dòng JAVA_HOME (đã nhận xét) và đặt một cái gì đó như:

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

pe:

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

Lưu và bắt đầu tomcat như một dịch vụ:

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

cài đặt nhật thực & 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

Tôi đang sử dụng ssh vì đó là Máy ảo 'để kiểm tra'
1 tải xuống tệp 'tomcat7.0 apache download'

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

2 giải nén nó

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

3 làm dir tại

$ sudo mkdir /usr/local/tomcat7

4 di chuyển tập tin vào thư mục

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

5 cài đặt

$ 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 cấu hình bây giờ chúng ta đi đến máy tính để bàn Ubuntu

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


chọn phiên bản duyệt thư mục => kết thúc

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

tắt nó

$ sudo ./shutdown.sh

hãy làm một bài kiểm tra

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

Video hướng dẫn: ' http://www.youtube.com/watch?v=n5joqK07-NE '


Đầu $ sudo service tomcat7 restartra làtomcat7: unrecognized service
Juan Garcia

$ cd / opt / local / tomcat7 / bin $ ls bạn sẽ tìm thấy tệp script shell, tôi không chắc chắn chính xác về tên mà nó có thể được khởi động lại. sau đó đóng rồi bắt đầu lại bằng $ sudo startup.sh $ sudo shutdown.sh $ sudo startup.sh
hwez

/ opt / local / tomcat7 / bin không tồn tại, nó nằm dưới / usr / share / tomcat7 / bin. startup.sh nói rằng tomcat đã bắt đầu nhưng trình duyệt không thể thấy bất kỳ thứ gì trong localhost: 8080 (cũng thử với ip cục bộ). shutdown.sh hiển thị cảnh báo và ném một ngoại lệ. Tôi sẽ cập nhật câu hỏi với nhật ký
Juan Garcia

Cập nhật: Tôi đã đăng nhật ký của mình
Juan Garcia

/ opt / tomcat / bin hoặc / opt / tomcat7 hoặc / etc / tomcat7 hoặc / etc / tomcat nếu bạn không tìm thấy nó cd / opt; ls -lh && cd / etc; ls -ls đặt pastebin và nhận xét nó sẽ cài đặt tocat7 và kiểm tra nó cho u
hwez

0

Tôi không gặp vấn đề gì khi cài đặt và chạy Tomcat 7 trong Ubuntu 14.04 LTS. Chỉ để chắc chắn, tôi đã tra cứu lịch sử bash. Lưu ý rằng lần đầu tiên tôi cài đặt Oracle Java (trong trường hợp nó tạo ra sự khác biệt)

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

rồi Tomcat

sudo apt-get install tomcat7

Lệnh

sudo service tomcat7 restart

cho

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.