# 配置

Frappe网站可以共享相同的应用服务器,每个服务器背后可以有不同的数据库解决方案、配置和位置,通过Bench中的网站配置以不同的粒度进行设置。

网站配置存储了所有与网站相关的信息,从网站的数据库详细信息到指向它的自定义域。通过网站配置,我们可以定义可能改变Frappe及其Frappe应用程序行为的键值对。

# 网站配置

site_config.json存储特定网站的全局配置,并位于网站目录中。该文件由Frappe自动创建和填充。由于这依赖于Frappe,所以默认设置或行为也可能根据任何更新而变化。

{
  "db_name": "frappe_database_name",
  "db_password": "frappe_database_password",
  "admin_password": "admin_password",
}
1
2
3
4
5

注意:此文件被认为包含与网站状态相关的的重要信息,如果配置文件丢失或损坏,可能会引起麻烦。它定期与数据库备份一起备份。

# 通用网站配置

common_site_config.json存储Bench共享的配置。在Bench级别执行的操作通常与此配置相关。定义的配置键可能用于更改Bench级操作的行为或影响Bench上的所有网站,考虑到配置值的优先级。

此文件由Bench CLI自动生成和管理。此文件中的更改可能会影响您的Frappe设置的行为,具体取决于您的系统设置和Bench CLI的版本。

{
  "background_workers": 1,
  "developer_mode": true,
  "dns_multitenant": true,
  "file_watcher_port": 6789,
  "frappe_user": "frappe",
  "gunicorn_workers": 2,
  "maintenance_mode": 0,
  "pause_scheduler": 0,
  "redis_cache": "redis://localhost:13000",
  "redis_cache_sentinel_enabled": 1,
  "redis_cache_sentinels": [
    "redis-cache-sentinel-1:26379",
    "redis-cache-sentinel-2:26379"
  ],
  "redis_cache_sentinel_password": "sentinelpassword",
  "redis_cache_master_service": "mymaster",
  "redis_cache_master_password": "masterpassword",
  "redis_queue": "redis://localhost:11000",
  "redis_queue_sentinel_enabled": 1,
  "redis_queue_sentinels": [
    "redis-queue-sentinel-1:26379",
    "redis-queue-sentinel-2:26379"
  ],
  "redis_queue_sentinel_password": "sentinelpassword",
  "redis_queue_master_service": "mymaster",
  "redis_queue_master_password": "masterpassword",
  "redis_socketio": "redis://localhost:12000",
  "scheduler_tick_interval": 120,
  "serve_default_site": true,
  "socketio_port": 9000,
  "webserver_port": 8000,
  "root_password": "MARIADB_PASSWORD",
  "live_reload": true
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

# 可选设置

设置 描述
workers 允许创建自定义工作器。background_workers参数是可选的,如果没有设置,则使用通用的background_workers
redis_cache_sentinel_enabled 如果设置为1,则在生产设置中连接到Redis哨兵
redis_cache_sentinels 哨兵服务器主机/ip和端口的数组
redis_cache_sentinel_password 连接到哨兵的密码
redis_cache_master_service 要连接的主服务
redis_cache_master_password Redis主服务器密码
redis_queue_sentinel_enabled 如果设置为1,则在生产设置中连接到Redis哨兵
redis_queue_sentinels 哨兵服务器主机/ip和端口的数组
redis_queue_sentinel_password 连接到哨兵的密码
redis_queue_master_service 要连接的主服务
redis_queue_master_password Redis主服务器密码

# 配置值优先级

site_config.json中设置的特定键的值将优先于在common_site_config.json中定义的值。这意味着在某些情况下,公共配置中定义的键值可能用作回退。

# 标准配置键

以下是Frappe框架和Bench使用的一些标准键。

# 强制设置

这些键在site_config.json中设置,并在网站创建时自动生成,除非在创建网站时提供了值。

设置 描述
db_type 数据库类型。选项包括"mariadb"和"postgres"。
db_name 数据库名称(也用作默认数据库用户名)。
db_password 数据库密码。

# 可选设置

设置 描述
admin_password 标准"Administrator"用户默认密码。
allow_tests 设置此选项允许在此网站上运行测试。
allow_cors 启用跨站点HTTP请求。
data_import_batch_size 数据导入批处理大小。
db_user 从v16开始,指定单独的数据库用户名。
deny_multiple_logins 阻止用户拥有多个活动会话。
developer_mode 如果设置了开发者模式,DocType更改会自动更新到文件中。
disable_async 禁用socket.io客户端。
disable_error_snapshot 禁用错误快照。
disable_global_search 禁用全局搜索。
disable_scheduler 禁用调度器。
disable_session_cache 禁用会话缓存。
disable_website_cache 禁用网站缓存。
encryption_key 用于加密密码的密钥。
enable_frappe_logger 如果设置,记录请求的基本信息。
error_report_email 设置默认的错误报告电子邮件。
ignore_csrf 忽略CSRF。
install_apps 在网站restorereinstallnew创建时提及要安装的应用程序列表。
host_name 这对于后台作业和打印以正确识别网站URL是必需的。
http_port 更改Frappe设置的HTTP端口。
keep_backups_for_hours 保留备份文件的时间。
local_infile 设置标志以允许MySQL连接的数据来自本地infile。
logging 通过frappe.log使用frappe.debug_log启用不同级别的日志记录。
maintenance_mode 启用维护模式。
max_file_size 允许上传的文件最大大小。
max_reports_per_user 用户可以创建的最大自动电子邮件报告数量。
monitor 如果设置,记录所有请求。
mute_emails 如果为true,则停止发送电子邮件。

# 外部扩展配置

有时人们可能不希望将数据库密码等配置值直接硬编码在网站配置JSON中。在这种情况下,网站正常设置后,您可以安装一个允许通过返回您希望追加/覆盖的任何值的字典来扩展网站配置的自定义应用程序。该应用程序可以以所需的方式获取这些值,但建议使用延迟非常低的方式,因为它需要为网站的每个请求运行。

# 从环境覆盖

某些配置值可以通过环境变量进行覆盖。

配置 环境变量
redis_queue FRAPPE_REDIS_QUEUE
redis_cache FRAPPE_REDIS_CACHE
db_type FRAPPE_DB_TYPE
db_socket FRAPPE_DB_SOCKET
db_host FRAPPE_DB_HOST
db_port FRAPPE_DB_PORT
db_user FRAPPE_DB_USER
db_name FRAPPE_DB_NAME
db_password FRAPPE_DB_PASSWORD
最后更新时间: 9/27/2024, 3:24:28 PM