Ade*_*sso 6 nginx php-fpm centos7
闻起来像重复,我知道,但我现在已经尝试了这个设置 5 次,但我仍然无法让它工作。大多数配置对于 chroot 和多服务器等都很复杂,但我现在已将其简化为最简单的配置。我想了解如何以最简单的形式使用 nginx 设置 fpm...请耐心等待。
当前设置:
添加到 /etc/nginx/conf.d/default.conf
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)
对 /etc/php-fpm.d/www.conf 的添加和更改
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Run Code Online (Sandbox Code Playgroud)
添加文件/usr/share/nginx/html/info.php
<?php phpinfo();?>
Run Code Online (Sandbox Code Playgroud)
启动了两个服务
systemctl start nginx.service
systemctl start php-fpm.service
Run Code Online (Sandbox Code Playgroud)
最后 tail -f /var/log/nginx/error.log
2015/11/09 12:18:01 [错误] 28638#0:*1 FastCGI 在标准错误中发送:“主脚本未知”,同时从上游读取响应头,客户端:xx.xxx.xxx.xxx,服务器:本地主机,请求:“GET /info.php HTTP/1.1”,上游:“fastcgi://unix:/var/run/php-fpm/php-fpm.sock:”,主机:“xxx.xx.xxx.xx”
所以似乎FPM找不到脚本,我已经设法理解了,但是根据配置,脚本文件名是文档根目录和脚本名称。脚本名称为 info.php,根据默认配置根路径为:
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
Run Code Online (Sandbox Code Playgroud)
因此,如果我手动连接它,我会得到
/usr/share/nginx/html/info.php
Run Code Online (Sandbox Code Playgroud)
并且这个文件存在
#ls -lah /usr/share/nginx/html/
total 20K
drwxr-xr-x 2 root root 4.0K Nov 9 12:35 .
drwxr-xr-x 3 root root 4.0K Apr 21 2015 ..
-rw-r--r-- 1 root root 537 Apr 21 2015 50x.html
-rw-r--r-- 1 root root 612 Apr 21 2015 index.html
-rw-r--r-- 1 root nginx 20 Nov 9 10:45 info.php
Run Code Online (Sandbox Code Playgroud)
谁能给我一个解释为什么这不起作用?
| 归档时间: |
|
| 查看次数: |
10081 次 |
| 最近记录: |