大家好,我试图改变我的Tomcat服务器安装在Ubuntu上的端口号。 为此,我更改了文件server.xml并进行了以下更改:
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />
但问题是,每当我尝试打开localhost:8081它工作正常,但当我试图打开localhost:8080但仍然可以访问。 有人可以解释为什么发生这种情况吗?
其次,当我做了默认端口80,然后尝试localhost:80或localhost那么它是无法访问。 再次,这是为什么发生?
只要监听器仍在端口8080上,您将需要validation是否没有为该端口定义的连接器,并且没有其他的tomcat实例正在运行。
端口80问题的原因很可能是低端口需要root权限才能绑定,默认情况下,tomcat以非root用户身份运行。 解决这个问题的方法是使用authbind。
apt-get install authbind touch /etc/authbind/byport/80 chown tomcat6:tomcat6 /etc/authbind/byport/80
然后,修改tomcat的configuration文件启用authbind支持。
nano /etc/default/tomcat6
我相信authbind的设置接近文件的底部。
我试过这个解决schemehttp://beginlinux.com/server/ubuntu/changing-the-port-on-tomcat ,它为我工作。 您只需要确认哪些端口已经在绑定,然后更改tomcat的server.xml文件中的端口号。 那么你需要重新启动tomcat来确保更改得到执行。
使用redirectiptables规则:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport http -j REDIRECT --to-ports 8081
最好不要以root身份运行Tomcat(80端口需要root权限)。
我个人更改它在/ srv / apachexxx / conf(或安装它,在conf /文件夹内)在文件server.xml寻找
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
并更改端口。 您还需要更改关机端口,否则您将得到一个警告,因为您不能使用相同的端口(如果您将有多个tomcat运行)