Frappe Bench安装与使用指南
1. 项目目录结构及介绍
Frappe Bench 是一个强大的命令行工具,旨在简化Frappe框架和其应用如ERPNext在*nix系统上的多租户部署管理。以下是基于该开源项目的基本目录结构概述,虽然实际的细节可能随着版本更新而变化:
frappe-bench/
├── bench # 主要脚本和工具所在目录
│ ├── env # 环境相关文件,如果是虚拟环境,则存放于此
│ ├── requirements # 项目依赖列表
│ └── ...
├── config # 配置文件夹,包括common.ini等,定义了Bench级别的配置
├── sites # 存放各个站点的数据目录,每个站点有其独立的数据库和应用文件
│ ├── site1.local # 示例站点目录
│ │ ├── private # 私有应用数据
│ │ ├── public # 公共静态资源
│ │ ├── files # 用户上传的文件
│ │ └── site_config.json # 站点特定配置
│ └── ...
├── apps # 安装的应用程序存放位置
│ ├── frappe
│ ├── erpnext
│ └── ... # 其他自定义或第三方应用
└── ...
- bench 目录包含核心脚本和环境设置。
- config 包含全局配置文件,影响所有站点的行为。
- sites 目录下是各个站点的实际运行目录,每个站点都有独立的配置和数据。
- apps 存储所有的应用程序代码。
2. 项目的启动文件介绍
Frappe Bench的启动主要不是通过单一的“启动文件”,而是通过命令行工具bench执行不同的任务。例如,启动一个开发环境时,您会在 Bench 的根目录下运行以下命令来启动服务:
bench start
这将根据sites/common_site_config.json以及各站点特定配置启动对应的Web服务器、任务处理器等服务。bench脚本本身是位于frappe-bench根目录下的,它作为入口点,解析用户指令并调用相应的功能模块。
3. 项目的配置文件介绍
全局配置(common_site_config.json)
位于config目录下,这个文件包含了对所有站点都生效的通用配置,比如数据库连接信息、邮件服务器设置等。示例配置键值可能包括:
{
"database_name": "my_database",
"db_password": "secure_password",
"db_host": "localhost",
"email_server": "smtp.example.com"
}
站点特定配置(site_config.json)
每个站点在其对应目录(如sites/site1.local)下的site_config.json文件存储该站点特有的配置,这些配置覆盖全局配置中的相应条目。示例内容可能涉及网站URL、默认语言等:
{
"site_url": "http://site1.local",
"language": "zh-Hans"
}
应用配置
除了以上提到的配置,每个应用还可以有自己的配置文件(通常在应用的public/config.js或类似路径),这些用于定制应用行为,但不直接参与Bench的启动流程,而是由应用自身在运行时读取。
请注意,具体配置文件的内容和结构可能会随Frappe和Bench的版本更新而有所变动,建议参考最新版本的官方文档进行具体配置。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



