博文

目前显示的是标签为“404”的博文

解决nginx出现File not found的问题

使用php-fpm解析PHP,”No input file specified”,”File not found”是令nginx新手头疼的常见错误,原因是php-fpm进程找不到SCRIPT_FILENAME配置的要执行的.php文件,php-fpm返回给nginx的默认404错误提示。 比如我的网站doucument_root下没有test.php,访问这个文件时通过抓包可以看到返回的内容。   HTTP/1.1 404 Not Found Date: Fri, 21 Dec 2012 08:15:28 GMT Content-Type: text/html Proxy-Connection: close Server: nginx/1.2.5 X-Powered-By: PHP/5.4.7 Via: 1.1 c3300 (NetCache NetApp/6.0.7) Content-Length: 16   File not found.   很多人不想用户直接看到这个默认的404错误信息,想自定义404错误. 给出解决办法前我们来先分析下如何避免出现这类404错误,然后再说真的遇到这种情况(比如用户输入一个错误不存在的路径)时该怎么办,才能显示自定义的404错误页。 一、错误的路径被发送到php-fpm进程 出现这类错误,十个有九个是后端fastcgi进程收到错误路径(SCRIPT_FILENAME),而后端fastcgi收到错误路径的原因大都是配置错误。   常见的nginx.conf的配置如下: server { listen [::]:80; server_name example.com www.example.com; access_log /var/www/logs/example.com.access.log;   location / { root /var/www/example.com; index index.html index.htm index.pl; }   location /images { autoindex on; }   location ~ \.php$ { fastcgi_pass 127.0.0.1:...