linux 配置nginx+php-cgi服务器分离的错误:No input file specified

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 配置nginx+php-cgi服务器分离的错误:No input file specified相关的知识,希望对你有一定的参考价值。

我做的是nginx服务器(.128服务器)和php服务器(.129服务器)分离,模式是fastcgi模式,用php-fpm,用的是虚拟机。
但是,我打开浏览器,访问nginx服务器上的phpinfo.php脚本,总是报错:No input file sepefied。
于是,我尝试,在nginx服务器上安装php,并将nginx的发送端口转到本机,没有问题,一旦发送到另外的php服务器上,就报错,网上文章各种尝试都不行。
下面是nginx的报错日志:
2014/06/17 07:27:19 [error] 25327#0: *49 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.153.1, server: localhost, request: "GET /phpinfo.php HTTP/1.1", upstream: "fastcgi://192.168.153.129:9000", host: "192.168.153.128"
貌似是nginx连接php服务器被拒绝了吗?但是两个服务器的防火墙都关了啊。而且两个机子互相ping都没问题。实在不知道错误在哪里了。

参考技术A 到129上
关闭iptables 和 selinux。。
执行/etc/init.d/php-fpm status,看php-fpm是否运行。。。
执行netstat -tpnl | grep ‘:9000’,看9000端口是否在监听。。

windows2003怎么定时重启PHP-CGI

Nginx + php-cgi + php + mysql (win2003 跑php)
一切都很正常,但是
php\RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c php\php.ini
这个 php-cgi.exe 进程他是有生命周期的,即 处理完N个请求就自动退出了。
Linux 下 可以用 php-fpm 来管理php-cgi,windows下怎么办呢?
目前我的解决办法是用脚本来 定时重启 php-cgi进程,问下脚本因该怎么写

ShutDown.exe实现服务器定时重启
操作步骤:单击“开始”/程序/附件/系统工具中"计划任务",弹出计划任务窗口,然后双击"添加已计划的任务",运行“计划任务向导”,按“浏览”,找到c盘下
WINDOWS目录中的shutdown.exe文件,单击"打开"按钮,在出现的对话框中键入该任务的名字(如"reboot"),执行方式选择“每周” ,然后按“下一步”选择定时关机
时间(可以先试一下比现在机器上显示的时间晚1分钟),下一步选中“当单击完成打开该任务的高级属性”,单击"完成".
附:ShutDown用法及参数
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m computername] [-t xx] [
mment"] [-d up:xx:yy]
没有参数 显示此消息(与 ? 相同)
-i 显示 GUI 界面,必须是第一个选项
-l 注销(不能与选项 -m 一起使用)
-s 关闭此计算机
-r 关闭并重启动此计算机
-a 放弃系统关机
-m computername 远程计算机关机/重启动/放弃
-t xx 设置关闭的超时为 xx 秒
-c "comment" 关闭注释(最大 127 个字符)
-f 强制运行的应用程序关闭而没有警告
-d [p]:xx:yy 关闭原因代码
参考技术A 笨办法就是写个批处理,然后把上述启动方式写到批处理里,然后任务计划里定时启动该批处理。
你可以在启动之前,先用 taskkill /f /im php-cgi.exe 把php-cgi杀掉,然后再 RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c php\php.ini追问

RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c php\php.ini 这个怎么弄

追答

就直接写在批处理里就行了,然后把这个批处理放在和 runhiddenconsole.exe 同一个目录下。

追问

RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c php\php.ini 这里的目录要变吗?我的PHP.INI在其他文件下面的

追答

在其他文件夹当然得变了

追问

一点那个工具就是这样

追答

没基础解释起来真困难。
我给你搜到个 php-cgi 管理器,你自己试用下吧,就是解决你此类问题的
http://xiaoxia.org/2011/02/01/xxfpm-wrote-a-fastcgi-process-manager/

追问

老大 求指点啊!!!!

以上是关于linux 配置nginx+php-cgi服务器分离的错误:No input file specified的主要内容,如果未能解决你的问题,请参考以下文章

nginx php-cgi php

请问windows下如何管理php-cgi进程

nginx配置owncloud记录。

php-cgi.exe经常自己崩溃,这是啥原因

总结windows下单独配置php7,mysql8 ,nginx

linux nginx 网站访问提示502 Bad Gateway怎么操作?