需求
Tomcat的应用服务器,想让tomcat直接对外服务,所以需要把默认的8080端口直接修改成80端口,用户使用的时候,直接输入IP地址或者域名即可,而不需要在tomcat外面套一个nginx了。
实现
修改Tomcat配置文件夹下的server.xml,找到Connector,把里面的port="8080",修改成80,如图:
遇到的问题
重启了tomcat后,发现并不能访问80端口,查看端口情况:
netstat -ant|grep LISTEN
监听的端口号里面,也不能找到80端口。
原因和解决方案
linux下非root用户无法打开80端口,在Linux下低于1024的端口是root专用,为了安全期间,tomcat应用并没有使用root启动,而是新建了一个tomcat的用户启动的。
- 解决办法1:
使用root权限执行startup.sh
- 解决办法2(推荐):
通过iptables端口实现80到8080的转发,命令为:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
端口转发的iptables命令,如果希望在Linux每次重启后自动运行,可以参考:https://blog.terrynow.com/2021/09/06/linux-centos-startup-auto-run-programs/
文章评论