设置生产

> 警告: 我们不建议在裸机服务器上安装。推荐的生产环境部署方式是使用 Docker 镜像。你可以在这里找到相关说明:
>
>

你可以通过配置 Supervisor 和 nginx 这两个程序来将 bench 设置为生产环境使用。如果你想把生产环境设置还原为开发环境设置,请参考以下命令

简易生产环境设置

如果你运行 sudo bench setup production,这些步骤会自动完成

手动生产环境设置

Supervisor

Supervisor 确保驱动 Frappe 系统的进程持续运行,并在它们意外崩溃时自动重启。你可以使用命令 bench setup supervisor 生成 Supervisor 所需的配置。配置将存放在 config/supervisor.conf 目录中。然后你可以将该文件复制或链接到 Supervisor 的配置目录,并重新加载使其生效。

例如,

bench setup supervisor
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf

注意:

  • 如果你不需要生成启动 Redis 服务器的配置,请使用 --skip-redis 选项。例如 bench setup supervisor --skip-redis
  • 对于 CentOS 7,扩展名应为 ini,因此命令变为
bench setup supervisor
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.ini #for CentOS 7 only

当你更新应用时,bench 还需要重启由 Supervisor 管理的进程。为了自动化这一操作,你需要使用命令 sudo bench setup sudoers $(whoami) 来设置 sudoers。

Nginx

Nginx 是一个 Web 服务器,我们用它来提供静态文件服务,并将其余请求代理到 Frappe。你可以使用命令 bench setup nginx 生成 nginx 所需的配置。配置将存放在 config/nginx.conf 文件中。然后你可以将该文件复制或链接到 nginx 的配置目录,并重新加载使其生效。

例如,

bench setup nginx
sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf

注意:当你更改配置后重启 nginx 时,如果你有另一个配置将服务器块设为端口 80 的默认配置(大多数情况下是 nginx 欢迎页面),可能会启动失败。你需要禁用该配置。它最可能存在的位置是 /etc/nginx/conf.d/default.conf 和 /etc/nginx/conf.d/default。在最新版本的 nginx 安装中,该文件位于 /etc/nginx/sites-available/default