所以我知道,这不是最聪明的想法,但是当服务器仍在运行时,我用"n"将nodejs更新为版本0.10.现在当我尝试输入时
$ forever list
Run Code Online (Sandbox Code Playgroud)
要么
$ forever stopall
Run Code Online (Sandbox Code Playgroud)
要么
$ forever restartall
Run Code Online (Sandbox Code Playgroud)
它什么都不做.无论如何 -
$ forever --help
Run Code Online (Sandbox Code Playgroud)
仍显示帮助菜单,但所有操作都不起作用.我的nodejs服务器仍在响应!
有什么方法可以永远用火杀死吗?
我需要2个版本的NodeJS来运行两个不同的应用程序.一个版本在默认路径中可用,因此我可以通过调用来运行它node.另一个版本安装在~/node-v10/bin/node.
当我这样做时forever start app.js,它是从第一个版本开始的.一世
如何使用第二个节点版本启动永久脚本?Forever似乎没有允许我指定节点路径的配置.
我试过这个,但它不起作用.永远仍然从旧版本开始:
NODE_PATH=~/node-v10/bin/node forever start app.js
Run Code Online (Sandbox Code Playgroud) 我有一个脚本来启动和停止我的node.js服务器.当我停止脚本时,永久进程被终止,但节点进程没有终止.
我发布时有没有办法停止forver和node进程
Kill $FOREVER_PID
Run Code Online (Sandbox Code Playgroud)
这是脚本 -
#!/bin/bash
path="/Users/aayush/Desktop/node/rest-api"
action="forever errorLog_express.js "
logFile="$path/system.log"
pidFile="$path/pidFile.pid"
#messages
usage="Usage : node-script.sh start|stop"
panic="Panic! nothing to do, exiting"
unknown="Unrecognized parameter"
start="[starting node-forever]"
end="[stopping node-forever]"
notRunning="Process node-forever not running"
alreadyRunning="Process node-forever already running"
if [ -z $1 ]
then
echo $panic
echo $usage
exit 0;
fi
if [ $1 = "start" ]
then
# starting process
dummy="OK"
if [ -f $pidFile ];
then
exit 0
else
cd $path
echo "cd $path"
echo $start
echo $start >> …Run Code Online (Sandbox Code Playgroud) 我有一个节点脚本,在上传新版本并再次重新启动之前,我需要在其中停止一个永远的进程;
问题是我只知道那个进程的名字,而且
forever stop processName.js
Run Code Online (Sandbox Code Playgroud)
不起作用,因为它需要索引或 uid;只知道名字就可以阻止它吗?
我在配置具有不同域的两个不同Node.js应用程序时遇到问题.有两个目录
"/abc/" -> express-admin setup (backend) -> admin.abc.com
Run Code Online (Sandbox Code Playgroud)
和
"/xyz/" -> express setup (frontend) -> abc.com
Run Code Online (Sandbox Code Playgroud)
我需要admin.abc.com指向express-admin设置和abc.com来表达设置.我安装了vhost,并且该站点都侦听端口80.
添加了
app.use(vhost('abc.com', app)); // xyz/app.js file
app.use(vhost('admin.abc.com', app)); // abc/app.js file
Run Code Online (Sandbox Code Playgroud)
我的问题:
永远安装,每当我启动这两个应用程序时,第二个始终停止.我尝试为两个应用程序使用不同的端口,但仍然有相同的错误.他们单独运行没有问题.
我认为我的设置对于域名转发来说太复杂了.有更好的建议吗?可能是我有一个主app.js文件,我可以使用它来将域路由到各自的应用程序,而无需使用每个应用程序的app.js.
我正在使用 Forever JS 来持续运行我的节点 JS 服务器,但是偶尔服务器会崩溃并且站点会关闭一段时间。
我查看了永远的日志,这里显示:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
<--- Last few GCs --->
35251732 ms: Mark-sweep 687.6 (219898.0) -> 687.6 (527360.0) MB, 13522.0 / 0 ms [allocation failure] [scavenge might not succeed].
35267178 ms: Mark-sweep 687.6 (527360.0) -> 687.6 (940128.0) MB, 15445.8 / 0 ms [allocation failure] [scavenge might not succeed].
35282842 ms: Mark-sweep 687.6 (940128.0) -> 687.6 (1352896.0) MB, 15664.3 / 0 ms [last resort gc].
35298326 ms: Mark-sweep 687.6 …Run Code Online (Sandbox Code Playgroud) 我跑我的节点JS通过流程永远如下:
sudo永远启动-o out.log -e error.log myServer.js
我想改变我的NodeJs服务器的内存限制,因为我在下面运行纯粹的节点时.
node --max-old-space-size = 512 myServer.js
当我永远地运行它时,我怎么能这样做?有没有像'永远开始--max-old-space-size = 512'的方式
当我在Ubuntu 12.04.1上永远玩得开心时,我将node.js从v0.6.12升级到v0.8.15后得到了以下错误.在升级之前它运作良好.以前有人遇到过这种问题吗?
$ forever
module.js:340
throw err;
^
Error: Cannot find module './daemon.v0.8.15'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/usr/local/lib/node_modules/forever/node_modules/daemon/lib/daemon.js:12:11)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
Run Code Online (Sandbox Code Playgroud)
我的环境是
node v0.8.15
npm 1.1.66
Run Code Online (Sandbox Code Playgroud)
我用命令行打击安装了node和npm
$ sudo apt-get install python-software-properties -y
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs npm -y
Run Code Online (Sandbox Code Playgroud)
我用命令行永远安装
$ sudo npm install forever -g
Run Code Online (Sandbox Code Playgroud) 我通过运行一个进程永远,但我感到困惑的使用-l,-o和-e选项.
从文档:
-l LOGFILE Logs the forever output to LOGFILE
-o OUTFILE Logs stdout from child script to OUTFILE
-e ERRFILE Logs stderr from child script to ERRFILE
Run Code Online (Sandbox Code Playgroud)
有人可以确认输出是否LOGFILE (-l)包括stdout和stderr,以及永远的消息(例如'永远重新启动').
如果是这样,我是否正确地假设-o并且-e只在你想要将你的stdout/stderr发送到不同的位置时才会存在; 如果您希望一个日志文件-l中的所有内容是您需要指定的唯一选项?
我正在开发一个mean.io应用程序.我试图在永远的节点模块的Ubuntu shell上运行这个应用程序,但它抛出一个错误
"util.js:756
throw new TypeError('The super constructor to `inherits` must not ' +
^: The super constructor to `inherits` must not be null or undefined.
at Object.exports.inherits (util.js:756:11)
at Object.<anonymous> (/usr/lib/node_modules/forever/node_modules/forever-monitor/lib/forever-monitor/monitor.js:142:7)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (/usr/lib/node_modules/forever/node_modules/forever-monitor/lib/index.js:14:24)
at Module._compile (module.js:435:26)
Run Code Online (Sandbox Code Playgroud)
"
任何人都可以帮助解决这个实际问题,我如何解决这个错误.