Symfony§
使用 Unit 运行使用 Symfony 框架构建的应用
使用 PHP 7.2.5+ 语言模块安装 Unit。
接下来,安装 Symfony 并创建或部署您的应用。此处,我们使用 Symfony 的 参考应用
$ cd /path/to/ $ symfony new --demo app
这将在 /path/to/app/ 创建应用的目录树。其 public/ 子目录包含根 index.php 和静态文件;如果您的应用需要额外的 .php 脚本,也请将它们存储在此处。
运行以下命令,以便 Unit 可以访问 应用程序目录
# chown -R unit:unit /path/to/app/
有关更多详细信息,包括权限,请参阅 安全检查清单。
接下来,准备 Unit 的 Symfony 配置(对 share 和 root 使用实际值)
{ "listeners": { "*:80": { "pass": "routes" } }, "routes": [ { "match": { "uri": [ "*.php", "*.php/*" ] }, "action": { "pass": "applications/symfony/direct" } }, { "action": { "share": "/path/to/app/public$uri", "fallback": { "pass": "applications/symfony/index" } } } ], "applications": { "symfony": { "type": "php", "targets": { "direct": { "root": "/path/to/app/public/" }, "index": { "root": "/path/to/app/public/", "script": "index.php" } } } } }
注意
pass 目标之间的区别在于它们使用 script 设置
direct 目标从 URI 运行 .php 脚本,或者如果 URI 省略它,则默认为 index.php。
index 目标指定 Unit 为目标接收的任何 URI 运行的 script。
有关详细讨论,请参阅 Symfony 文档中的 配置 Web 服务器。
上传更新后的配置。假设上述 JSON 已添加到
config.json
# curl -X PUT --data-binary @config.json --unix-socket \ /path/to/control.unit.sock http://localhost/config/
更新成功后,您的项目和应用应可通过侦听器的 IP 地址和端口访问