Tôi đã thử cài đặt Apache Tomcat 5.5 và 6 theo 2 cách khác nhau ( từ nguồn và vớ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/profile
tệ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 Connector
bằ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.
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ó?
::1
thay vì localhost không?