nodejs 服务器 崩溃 2种解决办法

本文介绍了如何使用nohup和forever工具来提高Node.js服务器的稳定性和可用性,包括解决因SSH远程通道中断导致的服务崩溃问题。

用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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值