【发布时间】:2023-09-09 15:36:01
【问题描述】:
【问题讨论】:
标签: ubuntu tomcat deployment port tomcat9
【问题讨论】:
标签: ubuntu tomcat deployment port tomcat9
此答案仅适用于 Tomcat 9... 7 和 8 已在互联网上详细记录。
您不能使用端口 80,因为 1024 以下的端口在 Linux 中被限制为 root 访问,除非您使用 authbind 来覆盖该限制。
我在使用 Ubuntu LTS 20.04、Tomcat 9.0.40 时遇到了同样的问题,这是我必须解决的问题。在特定情况之外,我不做任何承诺。
这假设您正在使用 systemctl 来启动和停止 Tomcat 服务器。如果您在不太可能的 Docker 容器或 Hyper-V VS 中运行,并且这些指令不会完全适合您的情况,但它们应该足够接近以让您通过。另外,我不会输入 sudo 100 次...如果你有很好的 root 访问权限,如果没有在所有内容前加上 sudo。
安装 AUTHBIND
apt-get install authbind
为你的tomcat系统用户设置AUTHBIND
touch /etc/authbind/byport/80
chown tomcat: /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
修改 systemctl 以在启动 tomcat 时使用 AUTHBIND
vi /etc/systemd/system/tomcat.service
change --> ExecStart=/opt/tomcat/bin/startup.sh
to --> ExecStart=authbind --deep /opt/tomcat/bin/startup.sh
重新加载 systemctl 守护进程以使用新设置
systemctl daemon-reload
编辑 tomcat 服务器配置以设置端口 80
vi /opt/tomcat/conf/server.xml
change --> <Connector port="8080"...
to --> <Connector port="80"...
重启tomcat
systemctl restart tomcat
祝你好运。
【讨论】: