如何在 php 项目部署的同一台服务器上发出 'GET' 请求?
How can I make a 'GET' request in the same server that php project deployed?
情况:
我在机器A上部署了我的php项目作为web服务器,使用nginx和fastcgi,配置文件如下:
server {
listen 80;
server_name alpha.kimi.com;
index index.html index.htm index.php;
root /alidata/www/;
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location / {
root /www/admin/;
index index.php;
if (!-f $request_filename){
rewrite ^/(.+)$ /index.php?& last;
}
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
access_log /data/log/nginx/access/output.log;
error_log /data/log/nginx/access/error.log;
}
所以当我从本地计算机发出 'GET' 请求时:
curl http://alpha.kimi.com/app/redirect/taskpush?build=10&gcdata=1
会有json返回
{"res":200,"msg":"success","extra":[]}
但是当我在机器A上发出同样的请求时,它只是挂在那里,什么也没有返回。我也试过:
curl http://localhost/app/redirect/taskpush?build=10&gcdata=1
和
curl http://localhost:9000/app/redirect/taskpush?build=10&gcdata=1
全部无效。我不知道是什么问题。
您需要将 nginx 配置为通过 localhost 或 127.0.0.1 进行侦听才能正常工作。
有关完整说明,请参阅 http://nginx.org/en/docs/http/ngx_http_core_module.html#listen。
您可以添加多个监听语句,例如:
listen localhost;
listen 127.0.0.1;
另请参阅此以了解更多详细信息:https://serverfault.com/questions/655067/is-it-possible-to-make-nginx-listen-to-different-ports
情况:
我在机器A上部署了我的php项目作为web服务器,使用nginx和fastcgi,配置文件如下:
server {
listen 80;
server_name alpha.kimi.com;
index index.html index.htm index.php;
root /alidata/www/;
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location / {
root /www/admin/;
index index.php;
if (!-f $request_filename){
rewrite ^/(.+)$ /index.php?& last;
}
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
access_log /data/log/nginx/access/output.log;
error_log /data/log/nginx/access/error.log;
}
所以当我从本地计算机发出 'GET' 请求时:
curl http://alpha.kimi.com/app/redirect/taskpush?build=10&gcdata=1
会有json返回
{"res":200,"msg":"success","extra":[]}
但是当我在机器A上发出同样的请求时,它只是挂在那里,什么也没有返回。我也试过:
curl http://localhost/app/redirect/taskpush?build=10&gcdata=1
和
curl http://localhost:9000/app/redirect/taskpush?build=10&gcdata=1
全部无效。我不知道是什么问题。
您需要将 nginx 配置为通过 localhost 或 127.0.0.1 进行侦听才能正常工作。
有关完整说明,请参阅 http://nginx.org/en/docs/http/ngx_http_core_module.html#listen。
您可以添加多个监听语句,例如:
listen localhost;
listen 127.0.0.1;
另请参阅此以了解更多详细信息:https://serverfault.com/questions/655067/is-it-possible-to-make-nginx-listen-to-different-ports