在ubuntu中更改tomcat的默认端口号

大家好,我试图改变我的Tomcat服务器安装在Ubuntu上的端口号。 为此,我更改了文件server.xml并进行了以下更改:

 <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" /> 

但问题是,每当我尝试打开localhost:8081它工作正常,但当我试图打开localhost:8080但仍然可以访问。 有人可以解释为什么发生这种情况吗?

其次,当我做了默认端口80,然后尝试localhost:80localhost那么它是无法访问。 再次,这是为什么发生?

只要监听器仍在端口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运行)