# 网站

Frappe是一个多租户平台,每个租户称为一个网站。一个网站拥有自己的数据库。网站存在于名为sites的目录中,在运行Bench命令时被视为当前工作目录。

# 网站目录

网站目录frappe-bench/sites是这个Bench的所有网站所在的位置。它还包含一些其他文件和目录,接下来将进行解释。

# apps.txt

此文件包含Frappe应用程序的列表。在网站中安装应用程序之前,应用程序应该在此列出。运行bench get-app命令或bench new-app命令时,它会被自动添加。

# common_site_config.json

所有网站通用的配置可以放在这个文件中。了解更多关于网站配置的信息。

# assets

Assets包含客户端浏览器所需的文件。这些通常包括*.js、*.css和图片文件。这个目录是通过bench build命令自动生成的。在生产中,这个目录由Nginx提供服务。

# 创建新网站

要创建一个新网站,请从frappe-bench目录运行以下命令:

$ bench new-site mysite.localhost

安装 frappe...
更新 frappe 的 DocTypes        : [========================================]
更新国家信息               : [========================================]
*** 调度器已禁用 ***

1
2
3
4
5
6
7

现在将在sites目录中创建mysite.local目录。

# 目录结构

sites/mysite.localhost
├── locks
├── private
│   ├── backups
│   └── files
├── public
│   └── files
├── site_config.json
└── task-logs

1
2
3
4
5
6
7
8
9
10

# locks

此目录被调度器用来通过文件锁定概念同步各种作业。

# private

此目录包含需要认证才能访问的文件。它包含私有文件和备份。可以通过URL:/private/files/private-file.png访问它们。

# public

此目录包含公开可访问的文件。可以通过URL:/files/public-file.png访问它们。

# site_config.json

此文件包含特定于网站的配置。

# 网站配置

每个网站目录中都存在一个名为site_config.json的文件,用来存储特定于网站的配置。这些值可以在frappe.conf本地变量中作为字典提供。

示例site_config.json

{
    "db_name": "test_frappe",
    "db_password": "test_frappe",
    "admin_password": "admin",
}

1
2
3
4
5
6

要了解更多关于管理网站或Bench级别的配置,请查看这个全面的文档。

# 网站解析

在响应HTTP请求时,网站会根据以下条件自动选择:

  • HTTP请求中的Host头部与网站匹配

  • HTTP请求中的X-Frappe-Site-Name头部与网站匹配

也可以通过以下命令启动开发服务器来强制服务特定网站:

bench --site mysite.localhost serve

1
2

# 将网站设置为当前网站

要强制使用一个网站作为默认网站,请运行以下命令:

bench use mysite.localhost

1
2

运行此命令后,可以在没有--site参数的情况下运行特定于网站的命令。

例如,而不是运行:

bench --site mysite.localhost migrate

1
2

您可以直接运行:

bench migrate

1
2
最后更新时间: 9/27/2024, 3:24:28 PM