Amazon EC2的Ubuntu10.04裝Tomcat - Linux

By Gary
at 2012-08-30T10:10
at 2012-08-30T10:10
Table of Contents
Amazon EC2 上裝 Ubuntu Linux 10.04 Instance,
在上面已有安裝 Apache 2.2.14 與 Apache Tomcat 6.0.24。
Apache 已可正常運作在 port 80,Tomcat 預設 port 為 8080,
Ubuntu 內建的防火牆 ufw 未開啟(inactive),
iptables 允許全部 port 的連線,
在 Amazon AWS 上的 Security Group 設定也是允許全部 port 對內對外自由連線。
問題是:目前可透過 domain name 直接開啟 Apache 的網頁,
但 Tomcat 的網頁,僅能在 ssh 到主機後,以 lynx 開啟 localhost:8080,
直接以 http://$DOMAIN_NAME:8080 的方式連線,瀏覽器會顯示 no response。
以下列出一些指令查詢結果(我有手動刪除空白,讓結果能擠進一行):
---
$ sudo netstat -apn | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 18564/java
$ ps aux | grep 18564
tomcat6 18564 0.0 10.2 361172 66800 ? Sl Aug29 0:27
/usr/lib/jvm/java-6-sun/bin/java
-Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties
-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true
-Djava.net.preferIPv4Addresses -Xmx128M -XX:+UseConcMarkSweepGC
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.endorsed.dirs=/usr/share/tomcat6/endorsed
-classpath /usr/share/tomcat6/bin/bootstrap.jar
-Dcatalina.base=/var/lib/tomcat6
-Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tmp
org.apache.catalina.startup.Bootstrap start
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
---
# /etc/tomcat6/server.xml (註解全部刪除了)
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="$DOMAIN_NAME">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="$DOMAIN_NAME" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Content path="" docBase="ROOT"/>
</Host>
</Engine>
</Service>
</Server>
---
目前苦於找不出為何 8080 port 無法直接以網址由外部連線,還請大家幫忙 ^^;
--
--
在上面已有安裝 Apache 2.2.14 與 Apache Tomcat 6.0.24。
Apache 已可正常運作在 port 80,Tomcat 預設 port 為 8080,
Ubuntu 內建的防火牆 ufw 未開啟(inactive),
iptables 允許全部 port 的連線,
在 Amazon AWS 上的 Security Group 設定也是允許全部 port 對內對外自由連線。
問題是:目前可透過 domain name 直接開啟 Apache 的網頁,
但 Tomcat 的網頁,僅能在 ssh 到主機後,以 lynx 開啟 localhost:8080,
直接以 http://$DOMAIN_NAME:8080 的方式連線,瀏覽器會顯示 no response。
以下列出一些指令查詢結果(我有手動刪除空白,讓結果能擠進一行):
---
$ sudo netstat -apn | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 18564/java
$ ps aux | grep 18564
tomcat6 18564 0.0 10.2 361172 66800 ? Sl Aug29 0:27
/usr/lib/jvm/java-6-sun/bin/java
-Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties
-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true
-Djava.net.preferIPv4Addresses -Xmx128M -XX:+UseConcMarkSweepGC
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.endorsed.dirs=/usr/share/tomcat6/endorsed
-classpath /usr/share/tomcat6/bin/bootstrap.jar
-Dcatalina.base=/var/lib/tomcat6
-Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tmp
org.apache.catalina.startup.Bootstrap start
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
---
# /etc/tomcat6/server.xml (註解全部刪除了)
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="$DOMAIN_NAME">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="$DOMAIN_NAME" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Content path="" docBase="ROOT"/>
</Host>
</Engine>
</Service>
</Server>
---
目前苦於找不出為何 8080 port 無法直接以網址由外部連線,還請大家幫忙 ^^;
--
--
Tags:
Linux
All Comments
Related Posts
Tab鍵補齊

By William
at 2012-08-29T20:07
at 2012-08-29T20:07
GEDIT的PLUGIN如何打開 FIREFOX?

By Vanessa
at 2012-08-29T18:48
at 2012-08-29T18:48
KDE即時訊息

By Lauren
at 2012-08-29T12:39
at 2012-08-29T12:39
關於heartbeat的問題?

By Zenobia
at 2012-08-29T08:56
at 2012-08-29T08:56
文件管理

By Ula
at 2012-08-29T01:53
at 2012-08-29T01:53