如何将Tomcat的端口从8080更改为80?
我想要执行我的Web应用程序为http://localhost
。
1)进入tomcat安装目录下的conf
文件夹
eg 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,并重新启动它。
在一个基于Debian的Linux(包括Ubuntu)上,你也可以去/etc/default/tomcat7
,取消注释#AUTHBIND=no
行并将它的值设置为yes,以便让服务器绑定一个特权港口。
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 =否为是
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.重新启动tomcat:
sudo /etc/init.d/tomcat7 restart
在Ubuntu和Debian系统上,需要执行以下几个步骤:
-
在server.xml中,将
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
更改为port="80"
。 -
安装推荐的(不是必需的)authbind软件包,使用如下命令:
sudo apt-get install authbind
-
在server.xml文件(在
/etc/tomcat6
或/etc/tomcat7
)中启用authbind,取消注释并设置如下行:AUTHBIND=yes
所有三个步骤都需要。
我尝试在server.xml
中将端口从8080
更改为80
,但对我无效。 然后我find了替代scheme,更新了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
由于以前的答案在14.04 Ubuntu服务器上效果不好(对我来说不错,但还不够),我提到了这些build议 (这是一个引用)。
编辑:请注意,正如@jason- authbind
在14.04的评论中提到的authbind
,随附的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 "$@"
如果在CATALINA_OPTS
已经在/usr/share/tomcat7/bin
获得了setenv.sh
文件,则必须使用:
export CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true"
现在您可以将端口更改为80
如其他答案中所述。
在现代Linux上最好的办法(对我来说)是使用xinetd:
1)创build/etc/xinet.d/tomcat-http
service http { disable = no socket_type = stream user = root wait = no redirect = 127.0.0.1 8080 }
2)创build/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上
4)/etc/init.d/xinetd启动
1)在{Tomcat安装文件夹} \ conf \中findserver.xml。
2)find下面类似的声明
<!-- Define a non-SSL HTTP/1.1 Connector on port 8180 --> <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
3)现在改变端口=“—”(你想要什么)
运行下面的命令工作。 尝试更改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 – 到端口8080
如果有人正在寻找,那么如何在Eclipse IDE用户中更改tomcat端口号如下所示。
1.在Servers视图中,双击服务器名称:
2.这将打开一个Tomcat的configuration页面,如下所示:
3.注意端口号在右边表格中显示。 点击编辑,例如:
4.将HTTP端口号从8080改为80.按Ctrl + S保存修改并重新启动服务器。 我们可以在Console视图中看到端口号的变化:
这所有内容都取自下面的链接,请参阅该链接进一步的信息谢谢。 http://www.codejava.net/servers/tomcat/how-to-change-port-numbers-for-tomcat-in-eclipse
如果你正在使用eclipse并修改server.xml不能为你工作,那么请尝试下面的文章 ..他们有步骤来修改端口,如果你使用IDE如eclipse。
这里是步骤:
– >按照path:{tomcat directory> / conf – >find这一行:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
将端口号从“8080”改为“80”。
– >保存文件。
– >重新启动服务器:)
只是goto conf tomcat的文件夹
打开server.xml文件
转到其中一个连接器节点,如下所示
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
只需更改端口
保存并重新启动tomcat
在linux服务器上,你可以使用这个命令来重新configurationTomcat来监听端口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
不要忘记编辑文件。 打开文件/etc/default/tomcat7
并更改
#AUTHBIND=no
至
AUTHBIND=yes
然后重启。
我已经这样做了。 将端口号从“8080”改为“80”。
但仍显示Tomcat v7.0 Server在localhost所需的端口8080已被使用。 服务器可能已经在另一个进程中运行,或者系统进程可能正在使用该端口。 要启动此服务器,您需要停止另一个进程或更改端口号。