一个复杂的nginx/php-fpm chroot设置
我正在运行nginx和php-fpm,我想为每个主机设置jail.我的设置有点复杂,所以在网络上的教程让我无处可去. 每个站点都有一个目录/var/www/domain.name/ 在该目录中,将有一个公共/目录,它将是网站根目录,一个将专门存储该网站的nginx日志的logs /目录,以及chroot文件系统(etc /,usr /等) 我遇到的第一个问题是如何配置它,PHP-FPM无法找到通过nginx传递给它的文件.它们会导致“主脚本未知”错误,更糟糕的是,来自PHP-FPM的错误消息并不比这更详细,所以我无法弄清楚nginx传递的路径. 主机的php-fpm池配置如下所示:
每个池的’x’递增. 该主机的nginx配置如下所示:
我猜这个问题是SCRIPT_FILENAME参数,但我把它改为$fastcgi_script_name,以及其他各种组合,但无济于事. 有人可以帮忙吗? 最佳答案 问题出在这里:
您的PHP在/var/www/domain.name中的chroot中运行,但您的文档根目录是/var/www/domain.name/public.因此,当您加载/index.php时,SCRIPT_FILENAME变为/var/www/domain.name/public/index.php.但是,在chroot中这不存在!它位于/public/index.php. 你可以做的是在这里更改目录,使其与chroot中的视图匹配: (编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- nginx – [emerg] bind()到0.0.0.0:80失败(98:地址已在使用
- node.js – 当我有Kubernetes时,nginx有什么意义?
- 带有Nginx和Chrome的通配符* .localhost SSL
- node.js – 自节点v0.12.2以来的负载平衡 – cluster,pm2或
- 在nginx中为相对URL使用别名时的禁止位置
- 如何运行nginx python(没有django)
- nginx – proxy_cache_和fastcgi_cache有什么区别?
- 如何在Amazon EC2 AMI实例上使用nginx一致地设置PHP-FPM 5.
- cache – 如何使用nginx作为缓存反向代理来替换squid/varni
- apache-2.2 – 使用nginx进行负载均衡时,每秒请求速度较慢