无法访问php文件nginx

时间:2018-02-17 12:16:29

标签: php nginx server web-hosting fastcgi

我是nginx的新手。 我有基于具有index.html的角度js的项目,并且在某个事件上,我对x.php文件执行角度http请求并从中获取响应。 它在我的本地系统和基于apache的私有托管服务器上运行完美。 我创建了一个免费的层ec2实例并启动了一个基于centos的linux实例,我在其上托管了代码并安装了nginx。 这是我的nginx配置

server {
  listen        80;
  server_name  mydomain.co.in www.mydomain.co.in;

   location / {
     root   /var/www/html/indm;
     index  index.php index.html index.htm;
     try_files $uri/ $uri /index.php?$query_string =404;
   }
   location ~ \.php$ {
      try_files $uri $uri/ /index.php?q=$uri&$args =404;
      fastcgi_split_path_info ^(.+\.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;
      add_header Access-Control-Allow-Origin *;
      proxy_set_header Access-Control-Allow-Origin $http_origin;
   }
   error_page  500 502 503 504  /50x.html;

首先,当在该php文件上执行http请求时,它给了我500个网关错误。我检查了XHR请求。这是nginx error.log

中的错误
[error] 17193#0: *2 rewrite or internal redirection cycle while internally redirecting to "/index.php", client: 42.111.38.254

我搜索了一下并更改了附加的" = 404"尝试uri声明。但现在它重定向到404。我想运行那个php文件。 服务器 Nginx服务器正在运行 php fpm也在运行

请帮忙

1 个答案:

答案 0 :(得分:0)

location ~ \.php$块没有root。将root语句移到server块中,以便location块继承相同的值。

例如:

server {
    ...
    root   /var/www/html/indm;

    location / {
        ...
    }
    location ~ \.php$ {
        ...
    }
    ...
}