Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在AWS上从PHP ping Node.js服务器_Php_Node.js_Amazon Web Services - Fatal编程技术网

在AWS上从PHP ping Node.js服务器

在AWS上从PHP ping Node.js服务器,php,node.js,amazon-web-services,Php,Node.js,Amazon Web Services,我在node.js中编写了一个很长的过程,但我希望应用程序控件的PHP端能够启动它。我的节点类似于: var http = require('http'); http.createServer(function (req, res) { console.log('Got request') try{ doProcedure() } catch(e) { console.log('Really bad error while trying to do the pro

我在node.js中编写了一个很长的过程,但我希望应用程序控件的PHP端能够启动它。我的节点类似于:

var http = require('http');

http.createServer(function (req, res) {
  console.log('Got request')

  try{
    doProcedure()
  } catch(e) {
    console.log('Really bad error while trying to do the procedure:')
    console.error(e.stack ? e.stack : e)
  }

}).listen(8124, "127.0.0.1");
当我在本地机器上运行此命令时,将正确触发事件。在aws上,我添加了8124端口,但节点无法接收对mydomain.com:8124的请求

我尝试停止httpd,然后让节点监听端口80,以排除端口未正确转发的可能性,但它仍然没有看到任何结果

我想有两个问题:

  • 如何让节点作为守护进程进行侦听,以便我可以传递请求?(“更新用户x”、“更新用户y”、“更新所有用户”等)
  • 如何从php ping该守护进程以在AWS环境中启动这些过程?
  • 额外问题:我有没有更好的方法

    谢谢大家,

    ~Jordan

    您是否尝试在createServer.listen()调用中使用服务器的IP地址(而不是127.0.0.1)?

    如果忽略listen()的第二个参数,节点将侦听所有IP地址。这样,您可以在本地运行相同的代码进行测试,也可以在EC2实例上运行相同的代码


    在catch块中,您可能还希望将HTTP错误响应发送回客户端。

    您应该有一个10.*ip iirc for aws,您的弹性/动态ip不能绑定到

    侦听50.17.254.0:8124时出现错误:“错误:EADDRNOTAVAIL,无法分配请求的地址”客户端没有查看任何内容,我只是在同一台机器上从php发出一个HTTP触碰来启动这个过程。叮叮!省略IP可以让事情顺利进行,这是一个很好的本地/生产技巧。谢谢我的印象是,我的弹性IP是我的域连接到的IP,也是任何Web服务器都应该监听的IP。在哪里可以找到这个10.*ip?省略要侦听的ip会使服务器侦听所有ip并完美地工作。/sbin/ifconfig-a,在我的EC2实例上,我有一个10.*ip,我有一个用于连接的弹性外部ip。extip实际上并没有绑定到服务器,就像端口转发1:1nat之类的