我已经在我的(apache运行的)ubuntu mate vm中安装了tomcat8,按照https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-ubuntu-14-04但是我遇到了问题。当tomcat运行时,inputnetstat -nat | grep:8080就不会打印任何东西。 我的server.xml如下
<?xml version="1.0" encoding="UTF-8"?> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine$ <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener$ <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListe$ <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListen$ <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="2000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> </Engine> </Service> </Server>
Ι通过正确设置环境variables$ CATALINA_BASE和$ JAVA_HOME这些空白的值以及通过更改我的tomcat文件夹中的权限解决了这个问题
出于安全原因,您不应该以root身份运行tomcat,而且您不必更改tomcat
您可以使用IPtables将端口80redirect到8080
$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT $ sudo iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT $ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
或更简单的解决scheme是使用一个微小的负载平衡器,如笔
pen -l 0.0.0.0:80 127.0.0.1:8080