无法使用Nginx + Passenger提供PHP文件,但可以提供PhpMyAdmin

时间:2015-07-13 20:43:35

标签: nginx passenger

服务器:带有nginx-passenger的Ubuntu 14.04。

我的问题是:我无法在http://www.domain.com/prueba/中显示php文件,但phpmyadmin在http://www.domain.com/phpmyadmin/中工作,我的rails服务器在http://www.domain.com中正常工作。

但我想要一个rails服务器并使用php。

我已经将乘客的nginx配置为

中的phpmyadmin页面
 location /phpmyadmin/ {
  root /var/www/html/phpMyAdmin;
  index index.php index.html index.html;
  passenger_enabled off;
}

一切正常但当我想在名为<?php phpinfo(); ?>的文件夹/var/www/html/prueba中提供php文件index.php时,它说 页面中没有找到 404 但是nginx日志中没有记录错误,并且一切都配置得很好。

location /prueba/ {
 root /var/www/html;
 index index.php;
 passenger_enabled off;
}

可能是什么错误?

这是我的完整配置文件。

server {
 listen 80 default_server;
 server_name domain.com www.domain.com;

location / {
 root /var/www/rails_project/current/public;
 passenger_enabled on;
 passenger_app_env production;
 passenger_ruby /home/user/.rvm/wrappers/ruby-2.2.0/ruby;
 passenger_buffer_response off;
}

location /prueba/ {
 root /var/www/html;
 index index.php;
 passenger_enabled off;
}

 location /phpmyadmin/ {
  root /var/www/html/phpMyAdmin;
  index index.php index.html index.html;
  passenger_enabled off;
}

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;
}
}

1 个答案:

答案 0 :(得分:0)

看起来你并没有放入正确的道路:

 location /prueba/ {
 root /var/www/html; << HERE should be /var/www/html/prueba
 index index.php;
 passenger_enabled off;
}

确保文件路径正确。