如何将Java应用程序部署到远程Wildfly服务器?
在localhost上,应用程序运行正常。
因此,我有一个域名"http:// mysite.com"
,该域名指向我的VPS主机。
Java已安装并正在运行wildfly。在Wildfly部署目录中,放置文件"mysite.com.war"
并使用命令"./standalone.sh -Djboss.http.port = 80"
运行wildfly。
但是在浏览器中“ http:// mysite.com”不可用。
好消息是,“ http:// mysite.com:8080”显示了一个标准的wildfly屏幕保护程序,这意味着我已经关闭并且服务器已启动并且域名正确。
在主机上未安装apache或nginx,仅安装了wildfly。
如何在“ http:// mysite.com”启动我的应用程序?
更新。
我使用命令“ ./standalone.sh -b 0.0.0.0”启动了wildfly,并添加了WEB-INF / jboss-web.xml文件-
<jboss-web xmlns = "http://www.jboss.com/xml/ns/javaee"
xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi: schemaLocation = "
http://www.jboss.com/xml/ns/javaee
http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd ">
<context-root> / </ context-root>
</ jboss-web>
现在我的应用程序可从“ http:mysite.com:8080”获得,如何在“ http:mysite.com”中使其可用?
答案 0 :(得分:0)
如果不以超级用户身份运行服务器,则无法绑定到端口80-这是一个严重的安全问题。
您将需要运行apache + mod_proxy,nginx,haproxy,pull或类似程序;这将侦听端口80并向localhost:8080代理请求
答案 1 :(得分:-1)
Wildfly以独立模式启动。您需要找到wildfly-12.0.0.Final/standalone/configuration/standalone.xml并在undertow订阅域的子集中找到该应用程序:
MAX
然后在同一文件中,找到interfaces部分并将127.0.0.1修复为您的ip地址:
<subsystem xmlns="urn:jboss:domain:undertow:4.0">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
<http-invoker security-realm="ApplicationRealm"/>
</host>
<host name="mysite.com" alias="www.mysite.com" default-web-module="mysite.com.war" disable-console-redirect="false"/>
</server>
...
</subsystem>
最后,在套接字绑定组部分中,您可以修复所使用的端口:
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:151.101.65.69}"/>
</interface>
</interfaces>
现在只需要“ ./standalone.sh”就可以运行不带参数的wildfly,我们的应用程序将在mysite.com上可用!