目录
以下配置基于 wildfly9 进行。
1. 修改JVM参数
在项目运行中,经常遇到这种问题:java.lang.OutOfMemoryError: GC overhead limit exceeded
如果确定要修改JVM参数,修改方法如下:
(1) 修改wildfly配置文件
找到D:\Wildfly\bin\standalone.conf文件,找到JAVA_OPTS
默认为:JAVA_OPTS="-Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"
修改示例:JAVA_OPTS="Xms64m -Xmx1024m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"
参数 | 说明 |
-Xms | 使用的最小内存 |
-Xmx | 使用的最大内存 |
(2) 在Eclipse中修改Wildfly的参数
在eclipse的Servers视图中,双击打开Wildfly, 点击 [General Information] 中的 [Open launch configuration], 在 [Arguments] 中修改[VM arguments].
2. 配置使用ip地址访问
有2种修改方式:
(1) 修改wildfly配置文件
在standalone.xml文件中
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
</interface>
</interfaces>
(2) 在Eclipse中修改Wildfly的参数
在eclipse的Servers视图中,双击打开Wildfly, 点击 [General Information] 中的 [Open launch configuration], 在 [Arguments] 中的[Program arguments] 中:
1)将"-b localhost"改为" -b 0.0.0.0";
2)并取消左上角复选框勾选(Always update arguments related to the runtime).
修改之后,就可以通过IP地址访问。
3.JBOSS下访问项目不需要输入项目名称的配置方法
在项目 WEB-INF 目录下创建一个 jboss-web.xml, 输入如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/</context-root>
</jboss-web>
4.事务超时配置
在standalone.xml文件中
加入<coordinator-environment default-timeout="1200"/>
配置事务超时的。
5.上传文件大小受限问题
在standalone.xml文件中
<http-listener name="default" socket-binding="http" redirect-socket="https"/>
添加max-post-size属性,单位为字节,修改之后如下:
<http-listener name="default" socket-binding="http" redirect-socket="https" max-post-size="1048576000"/>
1048576 表示 1M(1*1024*1024)
6.https的方式访问
参考文章:wildfly用https的方式访问(来源:51CTO博客)
Wildfly JBoss 如何开启 HTTPS(来源:CSDN)
https方式访问需要修改以下项:
(1)在WEB-INF/web.xml文件中添加security-constraint条目(具体参考我的文章https://blog.csdn.net/xiazaixm/article/details/105763817)
(2)修改Wildfly配置
1)证书文件
- 通过 Let's Encrypt 申请到可用的证书文件及私钥(fullchain.pem 和 privkey.pem)(参见Let's Encrypt 免费开启 HTTPS 之旅 );
- 生成 JKS 文件keystore.jks(参见Create a Java Keystore (.JKS) from Let's Encrypt Certificates),将生成的 JKS 文件拷贝到 JBoss 的配置目录中:
cp keystore.jks /<jboss.home>/standalone/configuration/
2) 修改standalone.xml文件:
在 <security-realms> 节点中,插入如下配置:
<security-realm name="SslRealm">
<server-identities>
<ssl>
<keystore path="keystore.jks" relative-to="jboss.server.config.dir" keystore-password="<your password>" alias="<your alias name>" key-password="<your password>"/>
</ssl>
</server-identities>
</security-realm>
之后,找到 <subsystem xmlns="urn:jboss:domain:undertow:x.x"> 节点,并修改其中的 <server> 节点的内容(先注释掉原有的 HTTPS 配置,再追加新的配置):
<!--<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>-->
<https-listener name="default-ssl" socket-binding="https" security-realm="SslRealm"/>
从 Wildfly 8 开始,Web subsystem 已经被 Undertow subsystem 替代了。
最后重新启动 JBoss 即可。
参考文章:??wildfly jboss 优化配置 wildfly jboss 优化配置 - Bigben - 博客园