Nodejs和wamp服务器混淆

问题描述 投票:2回答:3

情况

在过去的两年里,我一直在开发php并使用wamp。然后我遇到一个模块来实现聊天系统,然后是即时通知。所以我去查找并找到了这个非常棒的“nodejs”,它允许您实时连接到已连接的用户。

这家伙nodejs socket.io and php上传了一种集成nodejs socket.io和php而无需节点服务器的方法。所以我下载了他的项目(github)并在我的计算机上运行它但它从8080给出了连接拒绝错误所以,

我去nodejs站点并在我的系统(windows)上安装nodejs。它会自动更新我的环境变量,我可以转到我的命令行来运行示例项目

path(...)node nodeServer.js

然后从共享链接运行项目的索引文件,它开始工作。一切都顺利而美好。

我的问题

如果没有在我的系统上安装nodejs,我无法在小示例项目中运行节点应用程序,那么我应该如何在实时服务器(apache)上安装nodejs并使用命令行来启动nodejs。

我知道这可能太傻了但我对nodejs真的很新,所以我不知道我是否可以在live php服务器上运行节点。如果有可能,那么任何人都可以告诉我该怎么做?或者它只是一个理想的情况而且无法完成。

php node.js socket.io wamp
3个回答
3
投票

Node.js不需要与Apache一起安装。 Node.js本身提供了一个可以监听端口的服务器。您可以使用Apache或Nginx来使用代理。您也可以在没有这些服务器的情况下运行应用

使用下面的代码创建文件index.js并运行node index.js

var http = require('http');
  http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

打开浏览器并输入以下网址:http://127.0.0.1:1337/您将在那里看到Hello World。在这种情况下,nodejs正在侦听端口1337


0
投票

如果您正在使用云或VPS或任何类型的解决方案,允许您完全控制安装的东西,您可以在那里安装node.js并运行您需要的...

https://github.com/joyent/node/wiki/installing-node.js-via-package-manager

一些服务将允许您选择安装的内容...所以你只需选择nodejs并与你的apache一起运行它。

但是,如果您使用的是共享托管解决方案,那么实际上甚至托管节点(如果有)的数量有限,解决这个问题对您来说几乎是不可能的。

第二次编辑:很抱歉编辑了两次,但是在提到的stackoverflow帖子中有一个“没有nodejs服务器”的东西 - 实际上有一个服务器,并提到需要npm安装某些模块...这不是正确的方法来做到这一点,但如果你还想尝试这个,你需要安装节点(和npm一起),然后你需要npm isntall提到的包,添加帖子中引用的简单服务器文件,运行它,然后拥有你聊天所需的一切.. 。

如果你需要一些帮助,请ping我,但如果这是时间关键项目,而是找一些第三方解决方案......然后了解这个。


0
投票

TLDR找到一个主机服务,它将给你管理员和支持防火墙请求,或自我主机w /一个免费的DNS子域,并有一个脚本更新你的IP,所以你不必支付静态。

我的经历:

您实际上也可以利用节点进行输入/输出流操作。查看gulp和node以获取更多信息。在git项目之上使用bower和bluebird可以通过节点轻松快速地设置应用程序。

至于使用socket.io w /节点/ wamp设置,我实际上在过去使用过它。我最初在服务器上安装了wamp,但是我使用apache指令将8080上的代理请求从客户端脚本反转到node.js应用程序。

我确实必须单独安装节点,所以你可能需要像ramnode这样的东西(我认为它们也允许像iis / mvc这样的托管应用程序)。

最简单的主机设置开发imo是自主主机wamp / node w /来自fear.dns的免费子域。

另外ramnode让你可以完全访问你的虚拟机管理功能,我相信。所以你可以在那里安装节点,只要你在xtra端口需要时请求防火墙权限(socket.io在页面上使用diff端口进行请求,所以我不必担心CORs垃圾或任何东西)。

© www.soinside.com 2019 - 2024. All rights reserved.