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 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留底。
三、参数查看与修改方式
- 直接查看:
grep -vE '^#|^$' <配置文件>可快速列出有效参数(本指南各表即按此法采集)。 - 修改文件后校验语法:properties 文件用
key=value单行格式,注意=两边不加空格;XML 文件改动后可用xmllint --noout <文件>校验。 - 生效验证:
- 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 参数:
四、参数总览
| 分类 | 文件 | 关键参数(默认值) |
|---|---|---|
| JVM 内存 | gradle.properties | org.gradle.jvmargs=-Xms256m -Xmx512m |
| 启动/管理端口 | start.properties | ofbiz.start.loaders=main、ofbiz.admin.port=10523、ofbiz.admin.key=so3du5kasd5dn |
| Web 服务端口/SSL | framework/catalina/ofbiz-component.xml | http 8080、https 8443、ajp 8009、证书库 ofbizssl.jks |
| 通用业务 | framework/common/config/general.properties | unique.instanceId=ofbiz1、currency.uom.id.default=USD、ORGANIZATION_PARTY=Company |
| 安全口令策略 | framework/security/config/security.properties | password.length.min=5、max.failed.logins=3、password.encrypt.hash.type=SHA |
| URL/内容前缀 | framework/webapp/config/url.properties | no.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.service | Environment=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.loaders | main | 启动加载器;开发/运维可追加调试加载器 |
ofbiz.admin.port | 10523 | OFBiz 管理端口(仅本机监听),--shutdown/--status 命令经此端口通信 |
ofbiz.admin.key | so3du5kasd5dn | 管理端口通信密钥(每个实例唯一,实测值因实例而异;生产建议更换) |
5.3 Web 服务端口与 SSL(ofbiz-component.xml)
文件:framework/catalina/ofbiz-component.xml 的 catalina-container 段。实测连接器:
| 连接器 | 端口 | 关键属性(实测值) |
|---|---|---|
| ajp-connector | 8009 | 协议 AJP/1.3、scheme=http、URIEncoding=UTF-8、secretRequired=false(仅本机监听) |
| http-connector | 8080 | protocol=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-connector | 8443 | SSLEnabled=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.instanceId | ofbiz1 | 实例唯一 ID(20 字符内),多实例集群必须不同 |
currency.uom.id.default | USD | 默认货币单位 |
ORGANIZATION_PARTY | Company | 默认组织方 ID(下拉与报表默认值) |
VISUAL_THEME | HELVETICUS_EMERALD | 默认视觉主题 ID |
locale.properties.fallback | en | 属性回退语言(默认语言由 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.logins | 3 | 连续登录失败锁定阈值 |
login.disable.minutes | 5 | 锁定持续时间(分钟) |
password.length.min | 5 | 最小密码长度 |
password.encrypt.hash.type | SHA | 密码哈希算法(可选 PBKDF2 等) |
password.encrypt.pbkdf2.iterations | 10000 | PBKDF2 迭代次数 |
user.auto.change.password.enable | false | 是否强制定期改密 |
user.change.password.days | 90 | 强制改密周期(天) |
security.disable.impersonation | true | 是否禁止管理员模拟他人登录 |
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.http | Y | Y 表示站点强制 HTTPS(HTTP 请求重定向) |
port.https.enabled | Y | 启用 HTTPS 端口 |
port.http | 8080 | HTTP 端口(与 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 -Xmx1g | 16GB 内存机器可给 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 后复验。
八、参考链接
- Apache OFBiz 官方文档:https://ofbiz.apache.org/
- OFBiz GitHub:https://github.com/apache/ofbiz-framework
- 本专栏相关:《Ubuntu 22.04 安装 Apache OFBiz 24.09.07 指南》《Apache OFBiz 24.09.07 常用 CLI 命令与工具详解》