Không thể kết nối với Tomcat mặc dù nó đang chạy


9

Tôi đã thử cài đặt Apache Tomcat 5.5 và 6 theo 2 cách khác nhau ( từ nguồnvới apt-get ) trên Debian 5 và Debian 6 - không thành công. Máy chủ đang chạy nhưng tôi không thể kết nối với nó.

netstat -a:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 `hostname`:ssh          my_home_ip:4318      ESTABLISHED
tcp        0     52 `hostname`:ssh          my_home_ip:remctl    ESTABLISHED
tcp6       0      0 [::]:8009               [::]:*                  LISTEN
tcp6       0      0 [::]:8180               [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
udp        0      0 *:mdns                  *:*
udp        0      0 *:33059                 *:*
udp6       0      0 [::]:mdns               [::]:*
udp6       0      0 [::]:43829              [::]:*

netstat -tnlp:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1416/sshd
tcp6       0      0 :::8009                 :::*                    LISTEN      7880/jsvc
tcp6       0      0 :::8180                 :::*                    LISTEN      7880/jsvc
tcp6       0      0 :::22                   :::*                    LISTEN      1416/sshd

ps aux | grep tomcat:

root      7878  0.0  0.0   1984   352 ?        Ss   21:55   0:00 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat5.5/conf/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap
root      7879  0.0  0.0   1984   460 ?        S    21:55   0:00 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat5.5/conf/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap
tomcat55  7880  0.1  5.3 324068 27932 ?        Sl   21:55   0:01 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat5.5/conf/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap
root      8013  0.0  0.0   1716   492 pts/0    R+   22:13   0:00 grep tomcat

nmap kiểm tra cổng:

# nmap localhost -p 8180
Starting Nmap 4.62 ( http://nmap.org ) at 2012-03-03
Interesting ports on localhost.localdomain (127.0.0.1):
PORT     STATE  SERVICE
8180/tcp closed unknown
Nmap done: 1 IP address (1 host up) scanned in 0.025 seconds

# nmap localhost -p 8009
Starting Nmap 4.62 ( http://nmap.org ) at 2012-03-03
Interesting ports on localhost.localdomain (127.0.0.1):
PORT     STATE  SERVICE
8009/tcp closed ajp13
Nmap done: 1 IP address (1 host up) scanned in 0.027 seconds

# nmap localhost -p 22
Starting Nmap 4.62 ( http://nmap.org ) at 2012-03-03
Interesting ports on localhost.localdomain (127.0.0.1):
PORT   STATE SERVICE
22/tcp open  ssh
Nmap done: 1 IP address (1 host up) scanned in 0.026 seconds

Nhật ký Catalina:

Mar 3, 2012 9:55:26 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: 
Mar 3, 2012 9:55:26 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8180
Mar 3, 2012 9:55:26 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 486 ms
Mar 3, 2012 9:55:27 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Mar 3, 2012 9:55:27 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5
Mar 3, 2012 9:55:27 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Mar 3, 2012 9:55:27 PM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8180
Mar 3, 2012 9:55:27 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Mar 3, 2012 9:55:27 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/24  config=null
Mar 3, 2012 9:55:27 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Mar 3, 2012 9:55:27 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 321 ms

java -version:

java version "1.5.0_22"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode)

Tôi cũng đã thử gán Tomcat cho IP bên ngoài VPS của mình. Tôi cũng đã nhận được Lỗi xảy ra trong quá trình khởi tạo VM Không thể dành đủ dung lượng cho đống đối tượng. thỉnh thoảng vẫn có lỗi, nhưng tôi đoán đó không phải là vấn đề vì dù sao Tomcat cũng không phản hồi.

Xin lỗi vì rất nhiều văn bản - Tôi đã cố gắng để được thông tin. Làm ơn giúp tôi. Cảm ơn bạn trước!

CẬP NHẬT Như đã nêu trong câu trả lời, Tomcat đang lắng nghe trên một cổng IPv6. Để thay đổi điều đó, tôi đã phải thêm một biến môi trường cho máy JAVA vào /etc/profiletệp

JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
export JAVA_OPTS

... tải lại tập tin: source /etc/profile

... và sau đó định cấu hình chính của Tomcat Connectorbằng cách chỉnh sửa /etc/tomcat5.5/server.xml(trong trường hợp của tôi) theo cách sau:

<Connector port="8080" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" address="0.0.0.0" />

Lưu ý rằng thông báo address="0.0.0.0"cho Tomcat liên kết với một địa chỉ IPv4.

Cảm ơn bạn đã dành thời gian, và chúc mọi người một ngày tốt lành.


Cổng có hiển thị dưới dạng mở khi bạn quét ::1thay vì localhost không?
Shane Madden

@Shane Madden cảm ơn lời đề nghị của bạn, bạn đã đúng : nmap -6 ::1 -p 8009 PORT STATE SERVICE 8009/tcp open ajp13. Bạn vui lòng gửi nó như một câu trả lời để tôi có thể chấp nhận nó?
aexl

Câu trả lời:


4

Tomcat dường như chỉ nghe trên địa chỉ loopback IPv6 , ::1.


1
Cảm ơn bạn một lần nữa. Giải quyết vấn đề này bằng cách thiết lập $JAVA_OPTS/etc/profilevới giá trị của -Djava.net.preferIPv4Stack=truevà cấu hình Tomcat để lắng nghe trên address="0.0.0.0".
aexl

Không chắc chắn tại sao ban đầu tôi không ủng hộ điều này khi tôi chấp nhận câu trả lời 6 năm trước: /
aexl

1

Nó có vẻ giống như một vấn đề về tường lửa - hãy thử mở các quy tắc có liên quan trong tường lửa của bạn (xem xét chỉ để mọi thứ vào / ra lo, tôi chưa bao giờ thấy trường hợp hợp pháp nào để hạn chế lưu lượng truy cập vòng lặp).


Cảm ơn, điều này có thể hữu ích cho người khác có vấn đề với việc cài đặt Tomcat.
aexl
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.