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

Lok*_*Sah 152 tomcat tomcat6

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

Rom*_*ani 215

1)转到conftomcat安装目录下的文件夹

 e.g. C:\Tomcat 6.0\conf\
Run Code Online (Sandbox Code Playgroud)

2)编辑文件中的以下标记server.xml

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
Run Code Online (Sandbox Code Playgroud)

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

4)保存文件.

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

  • 在`etc/default/tomcat7`中设置`AUTHBIND = yes`,以避免端口80的PermissionDenied错误. (15认同)
  • 此外,请确保停止并重新启动Tomcat.只是说.:) (14认同)
  • 我这样做了,我得到了404错误!还有什么我应该做的吗? (3认同)

Ros*_*ose 116

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"/>
Run Code Online (Sandbox Code Playgroud)

2.编辑tomcat7文件

sudo vi /etc/default/tomcat7
Run Code Online (Sandbox Code Playgroud)

取消注释并更改#AUTHBIND =否为yes

3.安装authbind

sudo apt-get install authbind
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

5.重启tomcat:

sudo /etc/init.d/tomcat7 restart
Run Code Online (Sandbox Code Playgroud)

  • Autobind是正确的答案.但请注意,如果您使用"sudo startup.sh",则可以跳过自动绑定,因为端口80将被授予升级用户. (3认同)

Pio*_*ies 106

在基于Linux Debian的(包括Ubuntu)中,您还必须/etc/default/tomcat7取消注释该#AUTHBIND=no行并将其值设置为"yes",以便让服务器绑定在特权端口上.

  • 上面的路径应该是:/ etc/default/tomcat7(注意默认情况下缺少's') (9认同)
  • 如果由zip/tar.gz安装,则不适用于Tomcat,因为它们不在/ etc/defaults /中创建文件. (7认同)
  • Tomcat 9 的等价物是什么? (3认同)
  • 嗨,我没有那个特定的文件 (2认同)

Pet*_*etz 28

在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文件中的authbind(在其中一个/etc/tomcat6或中/etc/tomcat7):

    AUTHBIND=yes

这三个步骤都是必需的.

  • 在13.10中不适用于Tomcat(如果由zip/tar.gz安装). (5认同)
  • 要从zip/tar.gz开始工作,请执行上面的步骤1和2,将AUTHBIND = yes添加到bin/setenv.sh(如果不存在则创建)并从root开始.适用于LTS 12.04,也适用于13.10. (4认同)

Ath*_*har 22

我尝试将端口更改808080,server.xml但它对我不起作用.然后我找到了替代品,更新了iptables我确定会对性能产生影响.

我使用以下命令:

sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo /sbin/service iptables save
Run Code Online (Sandbox Code Playgroud)

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


smo*_*nff 17

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

编辑:请注意,正如@ jason-faust 在14.04authbind的评论中提到的那样,随附软件包现在支持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 "$@"
Run Code Online (Sandbox Code Playgroud)

如果你已经有了一个setenv.sh文件/usr/share/tomcat7/binCATALINA_OPTS,你必须使用:

export CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true"
Run Code Online (Sandbox Code Playgroud)

现在您可以将端口更改80为其他答案中的说明.

  • 我想补充一点,startup.sh文件位于:/usr/share/tomcat7/bin/startup.sh - 这对我们新手来说并不是很明显;) (2认同)

cgd*_*ave 5

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

1)创建/etc/xinet.d/tomcat-http

service http
{
        disable = no
        socket_type = stream
        user = root
        wait = no
        redirect = 127.0.0.1 8080
}
Run Code Online (Sandbox Code Playgroud)

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

service https
{
        disable = no
        socket_type = stream
        user = root
        wait = no
        redirect = 127.0.0.1 8443
}
Run Code Online (Sandbox Code Playgroud)

3)chkconfig xinetd on

4)/etc/init.d/xinetd开始


Sha*_*ita 5

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

1.在Servers视图中,双击服务器名称: 在此输入图像描述

2.这将打开Tomcat的配置页面,如下所示: 在此输入图像描述

3.注意右侧表格中显示的端口号.点击编辑,例如: 在此输入图像描述

4.这会将HTTP的端口号从8080更改为80.按Ctrl + S保存更改并重新启动服务器.我们可以在Console视图中发现端口号的变化: 在此输入图像描述

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