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

Jor*_*ein 6 php amazon-web-services node.js

我在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");
Run Code Online (Sandbox Code Playgroud)

当我在本地计算机上运行时,http:// localhost:8124将正确触发事物.在aws上,我添加了8124端口,但是mydomain.com:8124的请求没有被节点选中.

AWS中的端口设置

我尝试停止httpd然后让节点侦听端口80,以排除端口没有正确转发,但它仍然没有看到任何东西.

我猜两个问题:

  1. 如何让Node作为守护进程监听,所以我可以传递请求?("更新用户x","更新用户y","更新所有用户"等)
  2. 如何从php中ping该守护进程以在AWS环境中启动这些过程?

奖金问题:我应该采取更好的方式吗?

谢谢大家,
〜乔丹

Mat*_*ney 4

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

在 catch 块中,您可能还想向客户端发回 HTTP 错误响应。