我们正在使用 php-fpm,如果我们更改 nginx.conf 中的“root”值,则无法让脚本正常工作。
location ~ \.php$ {
root /usr/share/nginx/html ;
如果我们将该根目录更改为指向其他目录,即使它是 /usr/share/nginx/html/crap,它也不会工作。该目录当然存在。就像它可以读取该目录中的文件,但不能执行它。我已经检查了所有文件权限。有人有什么想法吗?
我们正在使用 php-fpm,如果我们更改 nginx.conf 中的“root”值,则无法让脚本正常工作。
location ~ \.php$ {
root /usr/share/nginx/html ;
如果我们将该根目录更改为指向其他目录,即使它是 /usr/share/nginx/html/crap,它也不会工作。该目录当然存在。就像它可以读取该目录中的文件,但不能执行它。我已经检查了所有文件权限。有人有什么想法吗?
您提供的配置将 php 文件作为具有根“root”的静态文件提供。“root”指令仅影响静态数据。
php-fpm 是 php 的 fastcgi 进程管理器。对于 nginx 中的 fastcgi,有一组以“fastcgi_”前缀开头的参数。
如果您使用 php-fpm,您可能希望 php 脚本由 php-fpm worker 执行。因此,nginx 应该将发往 php 的请求快速传递给适当的 php-fpm 池。
就像是
您能否提供有关您的 nginx 设置的更多信息,即您是否有虚拟主机或只有一个站点。如果虚拟主机是您使用启用站点、站点可用设置或类似设置。这样做可能更容易,只包括启用站点的位置,例如“包括 /usr/local/nginx/sites-enabled/*;” 在 nginx 配置中,然后使用具有特定重写规则等的 vhost 文件创建两个文件夹,然后将其 ln -s 放入启用站点的文件夹中。例如,vhost 文件可以指向您的主目录中的文件夹,并且您不应该有任何权限问题等。这对 npm 设置没有帮助,但应该为您指明正确的方向,重新初始设置和配置nginx