我是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也在运行
请帮忙
答案 0 :(得分:0)
location ~ \.php$
块没有root。将root
语句移到server
块中,以便location
块继承相同的值。
例如:
server {
...
root /var/www/html/indm;
location / {
...
}
location ~ \.php$ {
...
}
...
}