有效修改Tomcat6默认端口(Ubuntu Server,CentOS)

有效修改Tomcat6默认端口(Ubuntu Server,CentOS)


Ubuntu Server 12.04 安装tomcat6和mysql


$ sudo apt-get install sysv-rc-conf tomcat6 mysql-server

$ sudo ufw allow 80/tcp

$ sudo sysv-rc-conf tomcat6 on


修改tomcat端口,我们似乎都知道在这里把8080改成80:

$ sudo vi /etc/tomcat6/server.xml

    <Connector port="8080" protocol="HTTP/1.1" 

               connectionTimeout="20000" 

               URIEncoding="UTF-8"

               redirectPort="8443" />


网上很多文章写到这里就完事了,但其实改完后tomcat根本不工作,TCP监听端口里没有80,而恢复到8080就好用。原来,从Ubuntu 10.04起,默认是关闭1024以下端口的,还需要修改以下文件:


$ sudo vi /etc/default/tomcat6 

# If you run Tomcat on port numbers that are all higher than 1023, then you

# do not need authbind.  It is used for binding Tomcat to lower port numbers.

# NOTE: authbind works only with IPv4.  Do not enable it when using IPv6.

# (yes/no, default: no)

AUTHBIND=no

改成:AUTHBIND=yes


$ sudo service tomcat6 restart

$ ss -ln

State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port 

LISTEN     0      50                127.0.0.1:3306                     *:*     

LISTEN     0      100                       *:80                       *:*     

LISTEN     0      128                      :::22                      :::*     

LISTEN     0      128                       *:22                       *:*     

LISTEN     0      1                 127.0.0.1:8005                     *:*     

现在好了。



对于CentOS6,是另一种情况,系统不允许tomcat用户使用1024以下的端口。所以除了修改 /etc/tomcat6/server.xml,还有这个文件:


# vi /etc/tomcat6/tomcat6.conf

# What user should run tomcat

TOMCAT_USER="tomcat"


# Connector port is 8080 for this tomcat6 instance

CONNECTOR_PORT="8080"


将上面两行改为

TOMCAT_USER="root"

CONNECTOR_PORT="80"


就可以了。但是这样做的安全性怎么样还不清楚,我觉得比较理想的是 Tomcat与Apache HTTPD的集成,感兴趣就搜一下吧。


本文出自 “陈胜纲的博客” 博客,请务必保留此出处http://chenshengang.blog.51cto.com/4399161/1629914

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。