# 网站
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 : [========================================]
更新国家信息 : [========================================]
*** 调度器已禁用 ***
2
3
4
5
6
7
现在将在sites目录中创建mysite.local目录。
# 目录结构
sites/mysite.localhost
├── locks
├── private
│ ├── backups
│ └── files
├── public
│ └── files
├── site_config.json
└── task-logs
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",
}
2
3
4
5
6
要了解更多关于管理网站或Bench级别的配置,请查看这个全面的文档。
# 网站解析
在响应HTTP请求时,网站会根据以下条件自动选择:
HTTP请求中的
Host头部与网站匹配HTTP请求中的
X-Frappe-Site-Name头部与网站匹配
也可以通过以下命令启动开发服务器来强制服务特定网站:
bench --site mysite.localhost serve
2
# 将网站设置为当前网站
要强制使用一个网站作为默认网站,请运行以下命令:
bench use mysite.localhost
2
运行此命令后,可以在没有--site参数的情况下运行特定于网站的命令。
例如,而不是运行:
bench --site mysite.localhost migrate
2
您可以直接运行:
bench migrate
2
← 应用程序 理解DocTypes →