nodejs 服务器 崩溃 2种解决办法
用node启动server后,发现服务器不稳定,经常crash。我是用ssh远程登录的,ssh远程通道中断,或者Ctrl+C,都会使nodejs server崩溃掉。
一,node server 崩溃模拟
1,ssh远程登录到nodejs的服务器,并启动node server
[root@hatch nodejs]# node server.js
Server running at port 8000
2,中断ssh连接,这个时候在通过url访问,就不行了。
二,nohup的解决办法
1,启动node server
[root@hatch nodejs]# nohup node server.js >> /var/log/nodejs/server_port_8000.log &
启动node server,并放到后台执行,并且记录log日志,注意:这样记录日志,时间长了,日志文件会比较大,要自己写一个shell脚本,控制文件大小。
[root@hatch nodejs]# nohup node server.js 1>/dev/null 2>&1 & //这种方式,不记录log日志。
注意:用nohup的方法,node server是没有守护进程的,放到后台运行,如果node server崩溃掉,web一样不能访问。
2,关闭node server
[root@hatch ~]# ps aux|grep node //查看node server
root 10680 0.0 0.3 826308 14556 pts/6 Sl 12:20 0:00 node server.js
root 15765 0.0 0.7 1031248 30144 ? Sl Feb25 0:01 node scripts/web-server.js
root 19648 0.0 0.0 103240 872 pts/3 S+ 13:57 0:00 grep node
[root@hatch ~]# kill 10680 //关闭10680的node server
[root@hatch ~]# ps aux|grep node
root 15765 0.0 0.7 1031248 30144 ? Sl Feb25 0:01 node scripts/web-server.js
root 19653 0.0 0.0 103240 872 pts/3 S+ 13:57 0:00 grep node
三,forever工具
1,安装forever
# npm install forever
forever目前只支持到node 0.8,如果装了node 0.10的,forever工具就不能用了。安装的时候会报出 warning forever wants 0.8, but has 0.10 ,虽然能安装成功,但是用不了。向上不兼容很坑爹。
2,forever参数和用法
# forever [start | stop | stopall | list] [options] SCRIPT [script options]
3,forever实例
# forever start server.js //启动node server
# forever list //查看启动的node server
server.js [ 24597, 24596 ]
# forever stop 0 //停止第0个node server
Forever stopped process:
server.js [ 24611, 24596 ]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?