转移了三个 WP 到新的服务器,另外两个都没事,有个网站访问提示 File not found.搜了一圈,感觉我的配置也没啥问题啊,想问下出现这种情况还有可能是哪里的问题?
1 2 server { 3 listen 80; 4 server_name www.abc.com abc.com; 5 root /srv/www/abc.com/public_html; 6 access_log /var/log/www/abc.com.access.log; 7 error_log /var/log/www/abc.com.error.log; 8 location / { 9 index index.php index.html index.htm; 10 if (-f $request_filename) { 11 expires 30d; 12 break; 13 } 14 if (!-e $request_filename) { 15 rewrite ^(.+)$ /index.php?q=$1 last; 16 } 17 } 18 location /nginx-status { 19 stub_status on; 20 access_log off; 21 } 22 location ~ \.php$ { 23 fastcgi_pass unix:/var/run/php/php7.0-fpm.abc.com.sock; 24 fastcgi_index index.php; 25 fastcgi_param SCRIPT_FILENAME /srv/www/abc.com/public_html$fastcgi_script_na me; 26 fastcgi_param PATH_INFO $fastcgi_script_name; 27 include fastcgi_params; 28 } 29 } ~
![]() | 1 sumuu 2016-12-04 21:06:48 +08:00 两个点. 1. 确认 php sock 文件路径是否存在 2. 去掉 PATH_INFO 看看! 应该是这个引起的 试试? |
![]() | 2 nonozone OP @sumuu 查看了, sock 文件存在, PATH-INFO 删除了也不行。 同一批有三个 WP ,其他两个都没问题,就这个网站出现了这个邪门的问题... |
![]() | 3 love4taylor PRO 同样遇到这种问题 不知道原因 service 启动 php-fpm 就会出现 直接 php-fpm -D 运行 一切正常了 |
![]() | 4 skydiver 2016-12-04 21:56:02 +08:00 ![]() @nonozone strace -p <php-fpm 的 pid> 看一下到底访问的哪个文件就知道错误是什么了 @Love4Taylor 你这个应该是 selinux 的问题之类,看一下 selinux troubleshooter 的提示吧 |
![]() | 5 3A93EifxUzhBjhu6 2016-12-04 22:02:29 +08:00 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name |
![]() | 6 nonozone OP @echo111222 $document_root$ 这个要改成自己的路径才行啊。 |
![]() | 7 love4taylor PRO @skydiver 啊 谢谢 |
![]() | 8 nonozone OP @skydiver 为啥我输入 strace 直接提示成 _strace 了... 然后我 install strace 之后 # strace -p 3051 Process 3051 attached accept(0, 变成这样,啥信息都没有? |
![]() | 9 3A93EifxUzhBjhu6 2016-12-04 22:11:03 +08:00 @nonozone 你前面设置了 root 这里直接$document_root |
![]() | 10 3A93EifxUzhBjhu6 2016-12-04 22:12:50 +08:00 反正可以试一试。。错了没关系。。我之前也碰到 file not found 搜索下很多都这么说。。 如果还不行 注意文件目录读取权限。。。 |
![]() | 11 nonozone OP 哎妈...终于搞定了...马大哈,创建网站根目录的时候,少了域名后缀,一直没发现... |
![]() | 12 baocaixiong 2016-12-05 10:06:48 +08:00 file not found 都是没有找到入口脚本文件而报的错误。所以要去找路径问题 |
![]() | 13 kemikemian 2016-12-05 11:51:58 +08:00 fastcgi_param SCRIPT_FILENAME /srv/www/abc.com/public_html$fastcgi_script_na me; 是你复制问题吗,为什么后面的 name 分开了 na me |
![]() | 14 nonozone OP @kemikemian 哦,这个仅仅是复制过来的问题。 |
![]() | 17 Wakeupzombie 2016-12-05 23:13:17 +08:00 php 配置文件里的 include_path 设置问题? |