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

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

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

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

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

其次,当我将默认端口设为 80 时,尝试访问localhost:80,但localhost仍然无法访问。为什么会发生这种情况?

答案1

至于侦听器仍然在端口 8080 上,您需要验证该端口没有定义连接器,并且没有其他 tomcat 实例正在运行。


端口 80 出现问题的原因可能是低端口需要 root 权限才能绑定,而 tomcat 默认以非 root 用户身份运行。解决这个问题的方法是使用 authbind。

apt-get install authbind
touch /etc/authbind/byport/80
chown tomcat6:tomcat6 /etc/authbind/byport/80

然后,修改 tomcat 的配置文件以启用 authbind 支持。

nano /etc/default/tomcat6

我相信 authbind 的设置位于文件的底部附近。

答案2

我尝试过这个解决方案http://beginlinux.com/server/ubuntu/changing-the-port-on-tomcat对我来说,它确实有效。您需要做的就是确认哪些端口已绑定,然后在 tomcat 的 server.xml 文件中更改端口号。然后您需要重新启动 tomcat 以确保更改得到实施。

答案3

使用重定向 iptables 规则:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport http -j REDIRECT --to-ports 8081

最好不要以 root 身份运行 Tomcat(80 端口需要 root 权限)。

答案4

我个人在 /srv/apachexxx/conf 中(或者在你安装它的任何位置,conf/ 文件夹内)更改它在文件 server.xml 中查找

 <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

并更改端口。您还需要更改关闭端口,否则您将收到警告,因为您不能使用相同的端口(以防您运行多个 tomcat)

相关内容