Apache OFBiz 24.09.07 配置参数详解

Apache OFBiz 24.09.07 配置参数详解,覆盖 JVM 堆内存(gradle.properties/发行版脚本/systemd)、start.properties 管理端口、catalina ofbiz-component.xml 的 8080/8443/8009 端口与 SSL、general.properties、security.properties 口令策略、url.properties 及生产配置模板,参数值均取自实测环境

Apache OFBizApache OFBiz2026/10/12

Apache OFBiz 24.09.07 配置参数详解

目标:系统梳理 Apache OFBiz 24.09.07 的配置体系,覆盖 JVM 堆内存、启动与管理端口、Web 服务端口与 SSL、通用业务、安全口令策略、URL 前缀等六类参数的位置、默认值与修改方式,并给出生产配置模板。所有参数值均取自 Ubuntu 22.04 实测环境。

一、环境信息

  • 安装目录:/opt/ofbiz
  • 配置文件位置汇总:
    • /opt/ofbiz/gradle.properties(JVM 与构建参数)
    • /opt/ofbiz/framework/start/src/main/resources/org/apache/ofbiz/base/start/start.properties(启动与管理端口,classpath 内)
    • /opt/ofbiz/framework/catalina/ofbiz-component.xml(Web 服务:HTTP/HTTPS/AJP 端口与 SSL)
    • /opt/ofbiz/framework/common/config/general.properties(通用业务参数)
    • /opt/ofbiz/framework/security/config/security.properties(安全与口令策略)
    • /opt/ofbiz/framework/webapp/config/url.properties(URL 与内容前缀)
  • 发行版脚本:build/install/ofbiz/bin/ofbiz(DEFAULT_JVM_OPTS/JAVA_OPTS/OFBIZ_OPTS)
  • systemd:/etc/systemd/system/ofbiz.service(Environment=JAVA_OPTS)
  • 实测 Java:OpenJDK 17.0.20.1;OFBiz 24.09.07;Gradle 8.14.5

二、前置条件

  • 已按《Ubuntu 22.04 安装 Apache OFBiz 24.09.07 指南》完成安装并跑通启动/登录。
  • 修改配置后需重启 OFBiz 生效:systemctl restart ofbiz(systemd 托管)或 bin/ofbiz --shutdown 后重新启动。
  • 备份习惯:改动 framework/**/config/*.properties 前先 cp 留底。

三、参数查看与修改方式

  1. 直接查看:grep -vE '^#|^$' <配置文件> 可快速列出有效参数(本指南各表即按此法采集)。
  2. 修改文件后校验语法:properties 文件用 key=value 单行格式,注意 = 两边不加空格;XML 文件改动后可用 xmllint --noout <文件> 校验。
  3. 生效验证:
    • JVM 参数:jps -v 查看 Start 进程参数是否含 -Xms256m -Xmx512m;
    • 端口:netstat -tlnp | grep -E "8080|8443";
    • 登录验证:curl -sk -X POST https://localhost:8443/webtools/control/login -d "USERNAME=admin&PASSWORD=ofbiz" 返回 Web Tools Main Page 标题。

四、参数总览

分类文件关键参数(默认值)
JVM 内存gradle.propertiesorg.gradle.jvmargs=-Xms256m -Xmx512m
启动/管理端口start.propertiesofbiz.start.loaders=main、ofbiz.admin.port=10523、ofbiz.admin.key=so3du5kasd5dn
Web 服务端口/SSLframework/catalina/ofbiz-component.xmlhttp 8080、https 8443、ajp 8009、证书库 ofbizssl.jks
通用业务framework/common/config/general.propertiesunique.instanceId=ofbiz1、currency.uom.id.default=USD、ORGANIZATION_PARTY=Company
安全口令策略framework/security/config/security.propertiespassword.length.min=5、max.failed.logins=3、password.encrypt.hash.type=SHA
URL/内容前缀framework/webapp/config/url.propertiesno.http=Y、port.http=8080、content.url.prefix.secure=

五、核心参数分类详解

5.1 JVM 内存参数

文件:/opt/ofbiz/gradle.properties

org.gradle.jvmargs=-Xms256m -Xmx512m
  • 作用:Gradle 构建进程与经 Gradle 启动的 OFBiz 进程的堆参数(实测 OFBiz 进程 jps -v 显示 -Xms256M -Xmx512M)。
  • 堆上限建议 256-512MB(内存紧张环境务必设置,否则构建进程可能 OOM)。
  • 其他覆盖形态:
形态位置示例
发行版脚本build/install/ofbiz/bin/ofbiz 内 DEFAULT_JVM_OPTS已内建 -Xms256M -Xmx512M;可再传 JAVA_OPTS、OFBIZ_OPTS 追加
systemd/etc/systemd/system/ofbiz.serviceEnvironment=JAVA_OPTS=-Xms256m -Xmx512m

5.2 启动与管理端口参数(start.properties)

文件:framework/start/src/main/resources/org/apache/ofbiz/base/start/start.properties(classpath 内;启动日志会打印 using configuration file start.properties)。非注释有效参数:

ofbiz.start.loaders=main
ofbiz.admin.port=10523
ofbiz.admin.key=so3du5kasd5dn
参数默认值说明
ofbiz.start.loadersmain启动加载器;开发/运维可追加调试加载器
ofbiz.admin.port10523OFBiz 管理端口(仅本机监听),--shutdown/--status 命令经此端口通信
ofbiz.admin.keyso3du5kasd5dn管理端口通信密钥(每个实例唯一,实测值因实例而异;生产建议更换)

5.3 Web 服务端口与 SSL(ofbiz-component.xml)

文件:framework/catalina/ofbiz-component.xml 的 catalina-container 段。实测连接器:

连接器端口关键属性(实测值)
ajp-connector8009协议 AJP/1.3、scheme=http、URIEncoding=UTF-8、secretRequired=false(仅本机监听)
http-connector8080protocol=HTTP/1.1、scheme=http、secure=false、compression=on、compressibleMimeType=text/html,text/xml,text/plain,text/css,application/javascript,application/json、URIEncoding=UTF-8
https-connector8443SSLEnabled=true、scheme=https、secure=true、sslImplementationName=org.apache.tomcat.util.net.jsse.JSSEImplementation
SSL 证书(见 https-connector 子属性)certificateKeystoreFile=framework/base/config/ofbizssl.jks、certificateKeystoreType=JKS、certificateKeyAlias=ofbiz、certificateKeyPassword=changeit

修改方式:改 port 值后重启生效。端口偏移的便捷方式:./gradlew "ofbiz --portoffset 100"(全部默认端口 +100)。

5.4 通用业务参数(general.properties)

文件:framework/common/config/general.properties。实测有效参数(节选):

unique.instanceId=ofbiz1
currency.uom.id.default=USD
ORGANIZATION_PARTY=Company
VISUAL_THEME=HELVETICUS_EMERALD
locale.properties.fallback=en
参数默认值说明
unique.instanceIdofbiz1实例唯一 ID(20 字符内),多实例集群必须不同
currency.uom.id.defaultUSD默认货币单位
ORGANIZATION_PARTYCompany默认组织方 ID(下拉与报表默认值)
VISUAL_THEMEHELVETICUS_EMERALD默认视觉主题 ID
locale.properties.fallbacken属性回退语言(默认语言由 start.properties 的 ofbiz.locale.default 控制)

5.5 安全与口令策略(security.properties)

文件:framework/security/config/security.properties。实测有效参数(节选):

password.length.min=5
security.login.password.pattern.enable=true
security.login.password.pattern=^.*(?=.{5,}).*$
max.failed.logins=3
password.change.history.limit=0
user.auto.change.password.enable=false
user.change.password.days=90
user.change.password.notification.days=5
login.disable.minutes=5
login.disable.global.logout=false
store.login.history=true
store.login.history.incorrect.password=true
security.disable.impersonation=true
password.encrypt=true
password.encrypt.hash.type=SHA
password.encrypt.pbkdf2.iterations=10000
password.accept.encrypted.and.plain=false
参数默认值说明
max.failed.logins3连续登录失败锁定阈值
login.disable.minutes5锁定持续时间(分钟)
password.length.min5最小密码长度
password.encrypt.hash.typeSHA密码哈希算法(可选 PBKDF2 等)
password.encrypt.pbkdf2.iterations10000PBKDF2 迭代次数
user.auto.change.password.enablefalse是否强制定期改密
user.change.password.days90强制改密周期(天)
security.disable.impersonationtrue是否禁止管理员模拟他人登录

5.6 URL 与内容前缀(url.properties)

文件:framework/webapp/config/url.properties。实测有效参数(节选):

no.http=Y
port.https.enabled=Y
port.http=8080
content.url.prefix.secure=
content.url.prefix.standard=
cookie.domain=
参数默认值说明
no.httpYY 表示站点强制 HTTPS(HTTP 请求重定向)
port.https.enabledY启用 HTTPS 端口
port.http8080HTTP 端口(与 ofbiz-component.xml 对应)
content.url.prefix.secure空安全内容 URL 前缀(如 https://ofbiz.example.com,供邮件/外部链接生成)
content.url.prefix.standard空普通内容 URL 前缀
cookie.domain空Cookie 域(多子域共享会话时设置)

六、生产配置模板

适用场景:单机生产(16GB 内存、NVMe SSD、OLTP 电商/ERP 业务,预估数千到数万级订单量)。

项推荐配置说明
JVM 堆org.gradle.jvmargs=-Xms512m -Xmx1g(gradle.properties);systemd Environment=JAVA_OPTS=-Xms512m -Xmx1g16GB 内存机器可给 512MB-1GB;受限于 256-512MB 的实验环境请按 256-512MB 起步
数据库生产建议迁移 PostgreSQL/MySQL 而非内置 Derby参考 Compose 篇或 OFBiz 官方数据库配置
HTTPS 证书替换 ofbizssl.jks 为正式证书(或前置 Nginx 终止 SSL)默认证书为自签名 changeit 口令,仅限演示
口令策略password.length.min=8、password.encrypt.hash.type=PBKDF2、max.failed.logins=5提升安全基线
管理端口ofbiz.admin.port=10523 保持仅本机监听;ofbiz.admin.key 更换强随机值勿暴露到公网
日志保留默认 runtime/logs;配合 logrotate 轮转 ofbiz.log避免日志无限增长
备份每日备份数据库与 runtime/data、runtime/logs数据落盘目录见安装篇

七、常见问题

7.1 改了端口后登录页打不开

定位:ofbiz-component.xml 端口与 url.properties 的 port.http/port.https 不一致,或反向代理未同步。

解决:两处端口保持一致;若用 --portoffset 偏移,url.properties 也需对应调整。

7.2 如何确认堆参数真实生效

解决:jps -v 查看 Start 进程参数含 -Xms256m -Xmx512m 即为生效(不要只改文件不验证)。

7.3 忘记管理端口/密钥在哪改

解决:均在 start.properties(ofbiz.admin.port、ofbiz.admin.key);改后重启。

7.4 修改配置文件不生效

定位:properties 文件被 classpath 覆盖(如 runtime/ 下存在同名覆盖文件);或修改后未重启。

解决:用 grep -vE '^#|^$' 确认真实生效值;systemctl restart ofbiz 后复验。

八、参考链接