我使用这个脚本在Ubuntu 14.04.4 LTS上安装了Wildfly 10.0.0 Final。
一切看起来工作正常。
我的问题是嗅探端口28080(脚本安装默认),我可以更改为8080更新standalone.xml。 但我想野蛮地听取端口80,但更改standalone.xml使用端口80不起作用。
看起来只有root可以在低于1024的端口上侦听,所以问题是,在Ubuntu服务器上configurationWildfly侦听端口80的首选方法是什么?
我试图使用nginx和工作,但奇怪的是,一些文件,如jboss的默认主页的CSS,找不到。
developer.jboss.org上的JBoss wiki列出了一个相当全面的选项列表,这些列表也可能对Wildfly有效; 基本上的变化:
这两个似乎是最常见的select,而且是比较可取的。
替代scheme是:
最后但并非最不重要的是我个人的最爱:
使用setcap来允许java二进制文件本身具有绑定到特权端口的能力 ,而不需要以root身份运行 :
sudo setcap 'cap_net_bind_service=+ep' /path/to/jre/bin/java
唯一的缺点是,这样做有点模糊,但是你也没有任何外部依赖。
是的,设置Nginx作为野蛮面前的反向代理是恕我直言的首选方式。 在Nginx主页上有一个关于如何configuration的部署指南 。
推荐的方法之一是通过端口80“接触”部署在WildFly上的应用程序,方法是使用Apache HTTP服务器充当反向代理:
a) mod_proxy是最简单的方法,如果你没有sysadmin的经验,你可以在WildFly上使用HTTP(mod_proxy_http)或者AJP(mod_proxy_ajp)。 对于负载均衡器场景,您也可以使用mod_proxy_balancer。
b) mod_jk稍微复杂一些,只有configuration和AJP,一般不需要,因为Apache 2.2+自带了mod_proxy_ajp。
c) mod_cluster ,比较复杂,但对于负载均衡场景有很酷的function,它在场景后面使用mod_proxy。
如果你愿意,你可以使用许多其他的反向代理,比如nginx或haproxy 。
另一个aproach是使用iptables端口转发:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
WildFly的开发者推荐使用这样的东西,因为Undertow真的很快。