如何将 Tomcat 的端口从8080更改为80?

我想执行我的网络应用程序作为 http://localhost

384861 次浏览

1)转到 tomcat 安装目录中的 conf文件夹

 e.g. C:\Tomcat 6.0\conf\

2)在 server.xml 文件中编辑下面的标签

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

3)将 port=8080值改为 port=80

4)储存档案。

5)停止 Tomcat 并重新启动它。

在基于 Linux Debian 的系统上(包括 Ubuntu) ,你还必须转到 /etc/default/tomcat7,取消对 #AUTHBIND=no行的注释,并将其值设置为‘ yes’,以便让服务器绑定到一个特权端口。

在 Ubuntu 和 Debian 系统上,需要几个步骤:

  1. 在 server.xml 中,将代码行 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>更改为 port="80"

  2. 使用以下命令安装推荐的(不是必需的) authbind 包:

    sudo apt-get install authbind

  3. 在 server.xml 文件中(在 /etc/tomcat6/etc/tomcat7中)通过取消注释并设置如下行来启用 authbind:

    AUTHBIND=yes

这三个步骤都是必要的。

我尝试在 server.xml中将端口从 8080改为 80,但这对我不起作用。然后我发现替代方案,更新的 iptables,我确信这对性能有影响。

我使用以下命令:

sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo /sbin/service iptables save

Http://www.excelsior-usa.com/articles/tomcat-amazon-ec2-advanced.html#port80

在现代 Linux 上,(对我来说)最好的方法是使用 xinetd:

1) create/etc/xinet.d/tomcat-http

service http
{
disable = no
socket_type = stream
user = root
wait = no
redirect = 127.0.0.1 8080
}

2)创建/etc/xinet.d/tomcat-https

service https
{
disable = no
socket_type = stream
user = root
wait = no
redirect = 127.0.0.1 8443
}

3) chkconfig xinetd on

4)/etc/init.d/xinetd start

如果您正在使用 eclipse,并且修改 server.xml 对您不起作用,那么尝试遵循 文章。.他们有步骤来修改端口,如果你使用 IDE 喜欢 Eclipse。

只是去看看公猫的文件夹

打开 server.xml 文件

转到如下所示的连接器节点之一

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

只要换个口岸就行了

保存并重新启动公猫

由于之前的答案对我来说在14.04 Ubuntu 服务器上并不好用(很好,但还不够) ,我提到了 这些建议(这是一个引用)。

编辑: 请注意,正如@jason-faust 在评论中提到的,在14.04版本中,附带的 authbind软件包现在支持 IPv6,所以不再需要更喜欢的 IPv4了

1) Install authbind
2) Make port 80 available to authbind (you need to be root):


touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat7 /etc/authbind/byport/80


3) Make IPv4 the default (authbind does not currently support IPv6).
To do so, create the file TOMCAT/bin/setenv.sh with the following content:


CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"


4) Change /usr/share/tomcat7/bin/startup.sh


exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
# OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"

如果您已经在 /usr/share/tomcat7/bin中获得了带有 CATALINA_OPTSsetenv.sh文件,则必须使用:

export CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true"

现在您可以将端口更改为 80,如其他答案所示。

Ubuntu 14.04 LTS,在 Amazon EC2中。 以下步骤为我解决了这个问题:

1. 编辑 server.xml 并将 port = “8080”更改为“80”

sudo vi /var/lib/tomcat7/conf/server.xml


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

2. 编辑 tomcat7文件(如果未创建该文件,则需要创建它)

sudo vi /etc/default/tomcat7

取消注释并修改 # AUTHBIND = no to yes

3. 安装 authbind

sudo apt-get install authbind

4. 运行以下命令在端口80上提供 tomcat7 read + execute。

sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
sudo chown tomcat7 /etc/authbind/byport/80

5. 重启雄猫:

sudo /etc/init.d/tomcat7 restart

不要忘记编辑文件。打开文件 /etc/default/tomcat7并修改

#AUTHBIND=no

AUTHBIND=yes

然后重启。

以下是步骤:

- > 按照路径: { tomcat 目录 >/conf 找到这行:

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

将端口号由“8080”改为“80”。

- > 保存档案。

—— > 重新启动服务器 :)

运行下面的命令可以工作。尝试更改 server.xml和 conf 文件,但都不能工作。

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT


/sbin/iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT


/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

如果有人正在寻找,如何在 Eclipse IDE 用户中更改 tomcat 端口号如下步骤。

在 Servers 视图中,双击服务器名称: enter image description here

2. 这将为 Tomcat 打开一个配置页面,如下所示: enter image description here

注意,端口号显示在右边的表格中。点击编辑,例如: enter image description here

4.这将把 HTTP 的端口号从8080更改为80。按 Ctrl + S 保存更改并重新启动服务器。我们可以在控制台视图中看到端口号的变化: enter image description here

以上所有内容均来自下面的链接,请参考该链接获取更多信息,谢谢。 Http://www.codejava.net/servers/tomcat/how-to-change-port-numbers-for-tomcat-in-eclipse

在 linux 服务器上,您可以使用这些命令重新配置 Tomcat 以监听端口80:

sed -i 's|port="8080"|port="80"|g' /etc/tomcat?/server.xml
sed -i 's|#AUTHBIND=no|AUTHBIND=yes|g' /etc/default/tomcat?
service tomcat8 restart