linux上使用非root账户启动运行java程序
总体来说环境搭建和运行的过程不难,我就记录几个容易忽略的点。
1.非root账户不能使用1024以下的端口
若程序必须使用1024一下的端口启动,那么有两种方式解决,
1)使用iptables进行端口转发
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
2)chmod u+s java 给java赋予s的权限,这样java就可以使用小于1024的端口了,但是这样程序就拥有了java的最高权限,会存在安全问题。
建议使用第一种方式。
另外,建议程序使用高端口,然后通过nginx进行转发,这样即可以降低容器的压力,又可以在一定程度上保证避免安全问题。