场景: 根据资料学习,制作了一个web聊天室的应用,部署在windows服务器上,运行正常,当关闭远程桌面,运营node的cmd自己就关闭了。
解决方法:
1、怀疑服务器自动重启,如是创建开机启动(失败)。
(1) 创建cmd快捷方式到桌面上,右键-》属性-》目标 中添加 /K "node app.js";
(2) 将创建的快捷方式放到 开始-》所有程序-》启动 中
失败原因:windows 远程桌面与本地建立当前回话,当关闭远程桌面的时候,相当于注销服务器,运行的程序则关闭,因此需要将服务器中的node设置为服务启动才可以在关闭远程桌面的时候 继续运行。
2、创建node服务启动(成功)
(1) 将node作为服务在服务器端运行,有相关的windows插件。
npm install winser
(2) 在根目录的 package.json 中添加
"scripts": {
"install-windows-service": "winser -i",
"uninstall-windows-service": "winser -r"
}
(3) 安装windows service 服务
npm run-script install-windows-service
(4) 启动node 服务
设置启动脚本为 server.js,若原来设置为app.js 需要修改,只能执行server.js. cmd中执行 npm start。 则node 作为服务在服务器端执行。服务的名称为 package.json 中的”name“值。