如何更改tomcat8端口

如何更改tomcat8端口

我正在尝试通过此配置[conf/server.xml]在 Ubuntu 14.04 中将 Tomcat 的端口更改为 80:

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

到:

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

我收到此错误:

13-Oct-2015 18:09:10.626 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-80"]
 java.net.SocketException: Permission denied

我做错了什么?或者缺少了什么?

谢谢...

答案1

要在 Ubuntu/Unix 中在 1024 以下的端口上运行 Tomcat,该服务需要 root 权限。而这肯定不是你想要的。

使用端口重定向iptables

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

答案2

使用 authbind 启动 tomcat 服务,这将允许用户启动小于 1024 的端口,我们不需要重定向或 iptables。

sudo apt-get 安装 authbind -y

安装 Authbind 软件

sudo chmod -R 755 /etc/authbind

group 应该是用户组。

sudo chown -Rh root:group /etc/authbind

之后运行以下命令

cd /etc/authbind/byuid

举个例子,假设用户 ID 是 2000,您可以使用您的用户 ID 号

须藤回显'0.0.0.0/0:1,1023'> 2000

该文件应归用户和组所有。

sudo chown :2000

sudo chmod 700 2000

在 tomcat 启动文件 $CATALINA_BASE/startup.sh 中添加以下行

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

使用 Authbind service startup.sh 启动 tomcat

评论以下行

#$CATALINA_HOME/bin/startup.sh

添加 This End 作为文件结尾

AUTHBIND_COMMAND="/usr/bin/authbind --deep /bin/bash -c " 

$AUTHBIND_COMMAND $CATALINA_HOME/bin/startup.sh   

现在您应该能够以少于 1024 个端口的用户身份启动 tomcat 服务。

相关内容