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

如何将Tomcat的端口从8080更改为80?,tomcat,tomcat6,Tomcat,Tomcat6,我想以http://localhost1)转到tomcat安装目录中的conf文件夹 e.g. C:\Tomcat 6.0\conf\ 2) 在server.xml文件中编辑以下标记 3) 将port=8080值更改为port=80 4) 保存文件 5) 停止您的Tomcat并重新启动它。在基于Linux Debian的系统上(包括Ubuntu),您还必须转到/etc/default/tomcat7,取消注释\AUTHBIND=no行并将其值设置为“yes”,以便让服务器绑定到特权端口上

我想以
http://localhost

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

 e.g. C:\Tomcat 6.0\conf\
2) 在
server.xml
文件中编辑以下标记


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

4) 保存文件


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

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

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

  • 在server.xml中,将行
    更改为具有
    port=“80”

  • 使用以下命令安装推荐的(非必需的)authbind软件包:

    sudo-apt-get-install-authbind

  • 通过取消注释并设置以下行,在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
    

    在现代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
    }
    
    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对您不起作用,请尝试以下操作。。如果您使用像eclipse这样的IDE,它们有修改端口的步骤。

    只需转到tomcat的conf文件夹即可

    打开server.xml文件

    转到一个连接器节点,如下所示

    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
    
    
    
    只需更改端口即可


    保存并重新启动tomcat

    ,因为前面的答案对我来说在14.04 Ubuntu服务器上效果不好(很好,但还不够),我提到了(这是一段引文)

    编辑:请注意,正如@jason faust在14.04的评论中提到的,随附的
    authbind
    包现在确实支持IPv6,因此不再需要首选IPv4

    如果您已经在
    /usr/share/tomcat7/bin
    中使用
    CATALINA\u OPTS
    获得了
    setenv.sh
    文件,则必须使用:

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

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

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

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

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

    三,。 安装authbind

    sudo apt-get install authbind
    
    四,。 运行以下命令,在端口80上提供tomcat7读取+执行

    sudo touch /etc/authbind/byport/80
    sudo chmod 500 /etc/authbind/byport/80
    sudo chown tomcat7 /etc/authbind/byport/80
    
    五,。 重新启动tomcat:

    sudo /etc/init.d/tomcat7 restart
    

    别忘了编辑文件。打开文件
    /etc/default/tomcat7
    并更改

    #AUTHBIND=no
    

    然后重新启动。

    以下是步骤:

    -->遵循以下路径:{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
    

    如果有人正在寻找,那么如何在EclipseIDEUSER中更改tomcat端口号如下步骤

    1.在服务器视图中,双击服务器名称:

    2.这将打开Tomcat的配置页面,如下所示:

    3.请注意,端口号显示在右侧的表格中。单击可编辑,例如:

    4.这将HTTP的端口号从8080更改为80。按Ctrl+S保存更改并重新启动服务器。我们可以在控制台视图中发现端口号的更改:

    这所有内容都取自下面的链接,请参考该链接了解更多信息,谢谢。

    在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
    


    另外,请确保停止并重新启动Tomcat。只需说::)我这样做了,我得到了一个404错误!还有什么我应该做的吗?在
    etc/default/tomcat7
    set
    AUTHBIND=yes
    ,以避免端口80出现被拒绝的错误。请参阅Rose针对Linux环境的回答!此回答缺少/etc/AUTHBIND信息,请参阅answRose Belowi的er我没有那个特定的文件tomcat的哪个版本?你使用的是什么操作系统?如果由zip/tar.gz安装,tomcat不工作,因为它们不会在/etc/defaults/中创建文件。上面的路径应该是:/etc/default/tomcat7(注意默认情况下缺少“s”)Tomcat 9的等效值是什么?这可能会帮助您在13.10中不适用于Tomcat(如果由zip/tar.gz安装)。要使它从zip/tar.gz开始工作,请执行上面的步骤1和步骤2,将AUTHBIND=yes添加到bin/setenv.sh(如果不存在,则创建)并从root开始。与LTS 12.04一起工作,也应该在w/13.10下工作。在我的情况下,它失败了(catalina.out中没有错误消息)如果没有authbind软件包,在安装后工作。你能指出关于authbind=yes的文档吗?我找不到它。我也找不到在TOMCAT文档中提到authbind设置作为服务器元素配置的一部分。奇怪。另一种方法是编译和使用jsvc,但xinetd绝对容易需要补充的是,startup.sh文件位于:/usr/share/tomcat7/bin/startup.sh——这对我们这些新手来说并不完全明显;)@ConMan更新了路径,这是一个保存其他搜索的好主意。我承认一开始知道这个地方并不明显。谢谢,这很好,我已经习惯centos,所以这对我很有帮助,这对我来说并不是问题。我今天在14.04才关注了这一点,它附带的authbind包现在支持IPv6,所以费尔
    #AUTHBIND=no
    
    AUTHBIND=yes
    
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    
    /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
    
    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