在node.js上运行服务器文件

时间:2013-07-13 18:56:12

标签: node.js

我一直在练习websockets和node.js服务器的“hello world”示例。 根据所有这些示例,您可以创建html文件(客户端)和js文件(服务器)。 在运行它们之前,必须在命令行上运行它(我使用windows)

 node nameOFtheServer.js

所以,我的问题。 如果我关闭命令行窗口并再次打开它,则客户端无法连接到服务器。我必须在命令行中再次运行上面的代码,然后再次启动服务器。为什么会这样?这是正常的吗?我该如何修复它,所以我不必在命令行上反复运行相同的命令以启动js文件(服务器)?

由于

修改

好的,新的事实,我刚编辑了这个问题,突出了斜体的变化

2 个答案:

答案 0 :(得分:3)

当您关闭终端时,其中运行的所有内容都将被终止。 Linux和Windows系统上有许多解决方案,其中大多数都创建了某种服务,然后在后台运行。

以下是一些可能的解决方案:

选择最适合你的那个。

StackOverflow上的相关问题:

答案 1 :(得分:0)

首先感谢Venemo为你的anser。我尝试使用forever模块,但效果不佳,因为你可以看到here

所以我决定将nssm用于node.js

download nssm并将其解压缩到C:Program Files\path\to\nodejs。然后我打开Window的命令窗口并键入C:\program files\path\to\nssm-2.16\win32,然后键入nssm.exe。您应该看到如何安装或删除服务的“菜单”。现在输入

"C:\Program Files\path\to\nssm.exe" install give-Your-Service-A-Name "C:\path\to\node.exe" \"C:Program Files\nodejs\path\to\yourServerFile.js"

请注意\之前的"C:Program Files\nodejs\path\to\yourServerFile.js"不是拼写错误,您应该输入它,重要的是,如果您的路径中有空格,请帮助nssm正确解释。

就是这样,现在按CTRL + ALT + DEL,打开“服务”选项卡,找到“给你的服务 - 名称”,右键单击并选择Start service。要检查,打开与yourServerFile.js通信的客户端文件,它应该正常工作,而不必从命令行启动yourServerFile.js。

(PS:我在Windows 7上使用nodejs 0.10.12和nssm 2.16。上面的说明是此tutorial和此anser的组合)