我遇到了让我的nginx和php-fpm工作的问题。
当我尝试访问我的应用程序时,出现错误504。
我有这样的结构;
data/mywebsite/ | |---revisions/ | |---shared/ | |---released/ |---web/ |---app/ |---.../
在我的fpm池中,我有以下几点:
chroot = /data/mywebsite/ chdir = /released/web/
在我的nginx中:
root /data/mywebsite/released/web/; fastcgi_param SCRIPT_FILENAME /web/released$fastcgi_script_name;
所以我想要的是chroot data/mywebsite/和位于data/mywebsite/released/web/的应用程序来访问共享文件夹中的文件。
NB:我不知道是否值得一提,但我有这样的软链接released -> /data/mywebsite/revisions/...
当您计划使用PHP-FPM chroot时,您需要在chroot中拷贝相当多的系统文件以使其正常工作。
例如,您需要/data/mybesite/dev , /data/mybesite/proc , /data/mybesite/sys目录/伪文件系统以及/data/mybesite/lib等文件。
你也不能使用指向chroot之外的符号链接。
如果使用/data/mybesite作为chroot目录,则在/data/mybesite/example1/example2中指向/data/mybesite/example2的符号链接指向/data/mybesite/data/mybesite/example2目录chroot。
我的build议是不要使用chrootfunction,除非您准备花时间学习chroot环境的要求,以便在其中运行PHP-FPM应用程序。 我为一个项目做了这项工作,甚至在使用帮助程序的时候也花了好几天的时间。