一、設置Connector
修改server/default/deploy/jboss-web.deployer/server.xml
- <Connector port="80" address="0.0.0.0"
- maxThreads="250" maxHttpHeaderSize="8192"
- emptySessionPath="true" protocol="HTTP/1.1"
- enableLookups="false" redirectPort="8443" acceptCount="100"
- connectionTimeout="20000" disableUploadTimeout="true"
- compression="on" compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/xhtml+xml,application/x-javascript,application/javascript,text/xhtml"
- />
<Connector port="80" address="0.0.0.0"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
compression="on" compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/xhtml+xml,application/x-javascript,application/javascript,text/xhtml"
/>
prot="80" 修改端口為80
address="0.0.0.0" 任何IP都可以訪問
compression="on" compressableMimeType="..." 啟動GZIP壓縮
maxThreads等優(yōu)化待續(xù)...
二、調整JVM
修改bin/run.conf
- if [ "x$JAVA_OPTS" = "x" ]; then
- JAVA_OPTS="-Xms6g -Xmx6g -XX:PermSize=128m -XX:MaxPermSize=1024m -XX:+UseParallelGC -XX:+UseParallelOldGC"
- fi
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-Xms6g -Xmx6g -XX:PermSize=128m -XX:MaxPermSize=1024m -XX:+UseParallelGC -XX:+UseParallelOldGC"
fi
-Xms6g -Xmx6g 使用6G內存 最大最小相同 避免每次垃圾回收完成后重新分配內存
-XX:+UseParallelGC 并行垃圾回收 避免長時間的服務中斷
-XX:+UseParallelOldGC 并行回收年老代(從JDK6.0開始支持)
-XX:PermSize=128m -XX:MaxPermSize=1024m 持久代大小 需要根據(jù)實際情況配置 hibernate,seam,spring等項目需要設置大些
三、去除不必要的日志輸出
修改server/default/conf/jboss-log4j.xml
引用
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/server.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="ERROR"/>
引用
<root>
<appender-ref ref="CONSOLE"/> <!-- 刪除此行 -->
<appender-ref ref="FILE"/>
</root>
Append設置為true 重啟服務不覆蓋日志
添加<param name="Threshold" value="ERROR"/> 只有ERROR級別以上才記錄日志
刪除<appender-ref ref="CONSOLE"/> 不在控制臺輸出日志
四、Jboss數(shù)據(jù)庫連接池優(yōu)化
- <datasources>
- <local-tx-datasource>
- <jndi-name>datasource</jndi-name>
- <connection-url>jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf8</connection-url>
- <driver-class>com.mysql.jdbc.Driver</driver-class>
- <user-name>root</user-name>
- <password>root</password>
- <min-pool-size>100</min-pool-size>
- <max-pool-size>500</max-pool-size>
- <exception-sorter-class-name>
- org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
- </exception-sorter-class-name>
- <metadata>
- <type-mapping>mySQL</type-mapping>
- </metadata>
- </local-tx-datasource>
- </datasources>
<datasources>
<local-tx-datasource>
<jndi-name>datasource</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf8</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>root</password>
<min-pool-size>100</min-pool-size>
<max-pool-size>500</max-pool-size>
<exception-sorter-class-name>
org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
五、安全
1、關閉jmx-console
刪除server/default/deploy/jmx-console.war和server/default/deploy/management
2、關閉web-console和status統(tǒng)計
刪除server/default/deploy/jboss-web.deployer/ROOT.war
3、測試:
http://127.0.0.1/jmx-console
http://127.0.0.1/web-console
http://127.0.0.1/status