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 ]
nodejs 服务器 崩溃 2种解决办法的更多相关文章
- ArcGIS客户端API中加载大量数据的几种解决办法
ArcGIS客户端API中加载大量数据的几种解决办法 2011-03-25 18:17 REST风格的一切事物方兴未艾,ArcGIS Server的客户端API(Javascript/Flex/Sil ...
- Unity多单位战斗寻路问题的一种解决办法
Unity多单位战斗寻路问题的一种解决办法 Unity提供了NavMesh 导航组件 NavMesh是在实践中通用性最好的一种导航方式,但是Unity的实现并没有完全提供一个开放自由的API. 主 ...
- 64位Ubuntu运行32位程序时报文件不存在(No such file or Directory)的一种解决办法
尝试在64位Ubuntu下面运行32位程序时, 一直说 文件不存在(No such file or directory), 我只想说++. 你tm说个文件格式不正确不就好了? 非得说个文件不存在! 真 ...
- (转)eclipse安装ADT插件重启后不显示Android SDK Manager和Android Virtual Device Manager图标的一种解决办法
文章来源:http://blog.csdn.net/zcyhappy1314/article/details/8307534 下面说的这种情况是在正确安装ADT插件的前提下,重启eclipse后,工具 ...
- 百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法
原文:百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法 公司的网站改版要求在一个页面显示百度地图.上面要同时显示很多标注点,标注点当然要有提示信息嘛,提 ...
- No Spring WebApplicationInitializer types detected on classpath 问题的一种解决办法
今天在idea中编译部署工程,tomcat报了这个错误: No Spring WebApplicationInitializer types detected on classpath 导致前端页面访 ...
- [Android]Eclipse 安装 ADT[Android Development Tooling] 失败的两种解决办法
原因 最近想在新装的 Win7 里搭建一下 Android 的开发环境,虽然现在有 Android Studio 了,不过还是习惯 Eclipse 一点.众所周知的原因,Eclipse 直接安装 AD ...
- SQL Server数据库实例名与服务器名不一致的解决办法
SQL Server数据库实例名与服务器名不一致的解决办法 --EXEC sp_addlinkedserver -- @server = 'PSHGQ' --GO --select * from ...
- 在win7系统下安装把Ubuntu17.04安装在另一个硬盘开机无法进入Ubuntu问题的一种解决办法。【转】
本文转载自:http://blog.csdn.net/u012879090/article/details/74937762 在win7系统下安装把Ubuntu17.04安装在另一个硬盘开机无法进入U ...
随机推荐
- CSRF攻击的应对之道
CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,该攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在并未授权的情况下执 ...
- 使用Python快速查询所有指定匹配KEY的办法
import redis redis_ip = '10.10.14.224' redis_port = 18890 # 配置redis的连接办法 # http://blog.csdn.net/u010 ...
- django rest_framework中将json输出字符强制为utf-8编码
最近在和日本外包合作开发JIRA对接发布系统的版本单时, 遇到这个问题. 就是我们这边的输出浏览器显示为中文,而到了JIRA端就出现乱码. 查了文档,原来django rest_framework的默 ...
- ubuntu 系统提示升级失败,boot空间不足
系统提示升级失败,boot空间不足,解决方法: linux 随着系统的升级,会自动攒下好几个内核 执行 uname -a 看下自己当前启动的是哪个内核 dpkg --get-selections |g ...
- C++ 四种显示转换
转自:http://www.jellythink.com/archives/205 (果冻想) 前言 这篇文章总结的是C++中的类型转换,这些小的知识点,有的时候,自己不是很注意,但是在实际开发中 ...
- css控制默认滚动条样式
针对webkit内核的浏览器,使用伪类来改变滚动条的默认样式,详情如下: 滚动条组成部分 1. ::-webkit-scrollbar 滚动条整体部分 2. ::-webkit-scrollbar-t ...
- svm常用核函数介绍
这里有一篇博文介绍了,每个核函数的用途: https://blog.csdn.net/batuwuhanpei/article/details/52354822 在吴恩达的课上,也曾经给出过一系列的选 ...
- [BZOJ4551][TJOI2016&&HEOI2016]树(并查集)
4551: [Tjoi2016&Heoi2016]树 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 1746 Solved: 800[Sub ...
- MySQL注射绕过技巧(三)
在测试一次注入的时候发现过滤了逗号 所以找到这个思路 第一次遇到的时候是看key哥挖洞 遇到后就想记录下来 正文 过滤了逗号 利用join来逐步查询 select*from(select 1)a ...
- SpringBoot 整合 WebSocket
SpringBoot 整合 WebSocket(topic广播) 1.什么是WebSocket WebSocket为游览器和服务器提供了双工异步通信的功能,即游览器可以向服务器发送消息,服务器也可以向 ...