我正在尝试在运行 Ubuntu 12.04 LTS 的虚拟机上安装WildFly 8.0.0.Final应用程序服务器。我在谷歌上做了一些搜索,但我只找到了第三方脚本,而且我认为这是非标准的方法。
目前,为了启动服务器,我打开到虚拟机的 SSH 连接并运行以下命令:
cd <WILDFLY_HOME>/bin
nohup standalone.sh -b=0.0.0.0 -bmanagement=0.0.0.0 > /dev/null &
Run Code Online (Sandbox Code Playgroud)
并停止:
kill <pid of java process running wildfly>
Run Code Online (Sandbox Code Playgroud)
但是,在 Ubuntu 上将服务器安装为服务的最佳方法是什么?如果我重新启动机器,服务器会自动启动吗?
我的环境:
我们正在开发一个要部署在 JBoss/Wildfly 上的 JavaEE 7 应用程序,该应用程序将广泛使用 Web 套接字。我们正在使用Web 套接字支持,并且我们已经成功通过在 Apache 2.4 上mod_proxy_wstunnel
使用来启动并运行代理配置:mod_cluster
互联网 -> Apache HTTPD -> Wildfly
我们现在面临着对该应用程序进行集群的问题。我们将至少有 4 个节点启动并运行,以实现性能可扩展性和高可用性。我尝试创建一个<Proxy />
具有 2 个成员服务器的元素来完成此任务。它看起来像这样:
<VirtualHost *:80>
...
<Proxy balancer://myBalancer>
BalancerMember ws://localhost:9080
BalancerMember ws://localhost:19080
</Proxy>
<Location /ws>
...
ProxyPass balancer://myBalancer/MyContextPath/myWebSocketEndpoint
ProxyPassReverse balancer://myBalancer/MyContextPath/myWebSocketEndpoint
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然而,这不起作用。当尝试打开路径上的网络套接字时,我总是在 JavaScript 中遇到连接错误http://localhost/ws
。我快速浏览了一下文档mod_proxy_balancer
,发现它声明支持 HTTP、FTP 和 AJP13 协议。有没有办法对 Web 套接字和 WS 协议进行负载平衡?或者这是一个完全不受支持的配置?我还可以利用哪些其他替代方案来实现这一目标?显然,使用单个 Web 套接字服务器作为我们的生产端点是不可接受的,因为它代表了单点故障。我非常感谢您提供的任何建议!
我有没有 firewalld 但安装了 iptables 的 CentOS 7 服务器。
WildFly 10 正在运行,并将 http 端口更改8080
为80
in 的套接字绑定standalone.xml
。
我会使用以下命令在 iptables 中打开 80 端口:
# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
但是在我停止 iptables 之前服务器仍然无法访问。
如何解决?
更新:
#iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j …
Run Code Online (Sandbox Code Playgroud) wildfly8 ×3
apache-2.4 ×1
centos7 ×1
cluster ×1
iptables ×1
java ×1
jboss ×1
port ×1
socket ×1
ubuntu-12.04 ×1