在ubuntu 12.04版本下搭建LEMP环境,参照网上教程配置一步步下来,发现访问index.php一直报404 NOT FOUND 的错误(如果将文件名改回index.html则可以正常访问),请问该如何解决?
php相关配置文件中已经设置了cgi.fix_pathinfo=0和listen = /var/run/php5-fpm.sock
nginx配置信息如下:
server { listen 80; root /vagrant/www/; index index.php index.html index.htm; server_name localhost; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
看下访问日志,具体访问的是哪一个脚本
try_files $uri =404;
这个。。。
照着这篇日志改改,http://www.zhouyalin.com/2015...
看一下nginx错误日志,说不定能找到问题所在
查看是否启动了fastcgi。
确认下这个文件/vagrant/www/index.php是否确实存在
你确定 你放index.php的文件的路径, 是你主路径, 根据你的莫属, 我感觉应该不是, 如果是 ngxin和php的配置问题的话, 他应该出现的 下载文件的界面,或者直接就显示php的代码了, 不会出现404的, 所以你还是在查下 你的根目录吧
我对环境也不大会装,用yum命令全部装完的话,可以省去一些配置问题。不过,缺点就是版本库太老了。
手动装呢,我感觉自己对安装不熟悉,经常出问题。后面我改用人家写好的一键安装,我在阿里云上用的就是oneinstack,感觉太棒的,开发者已经把编译的程序都帮忙写好了,简直跟自己手动编译没差别。https://oneinstack.com/install/
好处:适合对环境不熟悉的人。安装完,mysql目录、web目录,包括nginx日志文件的生成,都已经配置好了,省去了很多忙,而且大部分PHP扩展模块都安装好了,用了一个多月了,在阿里云上都没出过问题。