运行 node.js 和 PHP/apache 在 AWS 上的同一实例上
Run node.js and PHP/apache on same instance on AWS
我已经在 Ec2
上成功安装了 node js,我的网站和域名都 运行 正常,但是当我尝试 运行 node js 时,它不会 运行.
我已经按照一些教程进行操作,并且在我的 aws 上完成了以下步骤。
1. I have added a port 9000 on my security group
2. I have done the pre-routing on iptables using below command
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 9000
但是在 运行ning 上面的代码之后,我的域停止 运行ning 意味着当我尝试打开我的网站时 mydomain.com 它什么也没显示,如果我删除该规则而不是再次它正在工作。
我也尝试了以下解决方案 运行ning 节点作为根级别在 80 上侦听端口。
sudo node server.js
但在那之后我遇到了以下错误
Error: listen EADDRINUSE :::80
at Object.exports._errnoException (util.js:949:11)
at exports._exceptionWithHostPort (util.js:972:20)
at Server._listen2 (net.js:1253:14)
at listen (net.js:1289:10)
at Server.listen (net.js:1385:5)
at Object.<anonymous> (/home/mcook/domains/development.mcook.co.in/public_html/server.js:36:5)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)
at tryModuleLoad (module.js:415:12)
我只是想让我的节点和我的站点都必须 运行ning 并且我需要 运行.
的命令和端口
以下命令将 PORT 80 的所有流量转发到 PORT 9000。
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 9000
你为什么要这样做?由于您已经从 AWS 安全组打开 PORT 9000,因此您可以让 node.js 连接到 PORT 9000 直接来自代码。
您在执行上述代码后看到空白页面的原因是您的 Web 服务器 运行 在端口 80 上,每个请求都转发到端口 9000 上的 node.js 服务器,但实际上并没有有什么要展示的。
所以不要 运行 上面的命令只是 运行 端口 9000 上的 node.js 服务器并仅从客户端连接到端口 9000。
我已经在 Ec2
上成功安装了 node js,我的网站和域名都 运行 正常,但是当我尝试 运行 node js 时,它不会 运行.
我已经按照一些教程进行操作,并且在我的 aws 上完成了以下步骤。
1. I have added a port 9000 on my security group
2. I have done the pre-routing on iptables using below command
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 9000
但是在 运行ning 上面的代码之后,我的域停止 运行ning 意味着当我尝试打开我的网站时 mydomain.com 它什么也没显示,如果我删除该规则而不是再次它正在工作。
我也尝试了以下解决方案 运行ning 节点作为根级别在 80 上侦听端口。
sudo node server.js
但在那之后我遇到了以下错误
Error: listen EADDRINUSE :::80
at Object.exports._errnoException (util.js:949:11)
at exports._exceptionWithHostPort (util.js:972:20)
at Server._listen2 (net.js:1253:14)
at listen (net.js:1289:10)
at Server.listen (net.js:1385:5)
at Object.<anonymous> (/home/mcook/domains/development.mcook.co.in/public_html/server.js:36:5)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)
at tryModuleLoad (module.js:415:12)
我只是想让我的节点和我的站点都必须 运行ning 并且我需要 运行.
的命令和端口以下命令将 PORT 80 的所有流量转发到 PORT 9000。
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 9000
你为什么要这样做?由于您已经从 AWS 安全组打开 PORT 9000,因此您可以让 node.js 连接到 PORT 9000 直接来自代码。
您在执行上述代码后看到空白页面的原因是您的 Web 服务器 运行 在端口 80 上,每个请求都转发到端口 9000 上的 node.js 服务器,但实际上并没有有什么要展示的。
所以不要 运行 上面的命令只是 运行 端口 9000 上的 node.js 服务器并仅从客户端连接到端口 9000。