标签: forever

Node.js - 无法永久运行节点服务器

我正在尝试使用forever命令运行节点服务器.我使用以下方式全球安装:

npm install forever -g
Run Code Online (Sandbox Code Playgroud)

永远安装后,我尝试使用以下命令运行我的节点脚本:

node_modules\.bin\forever start app.js
Run Code Online (Sandbox Code Playgroud)

以下是我的控制台:

warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up f
or at least 1000ms
info:    Forever processing file: app.js
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题!

node.js forever

26
推荐指数
2
解决办法
3万
查看次数

如何运行pm2以便其他服务器用户能够访问该进程?

当我开始与我的应用程序的NodeJS PM2,其他服务器的用户都无法访问该进程.

即使我从自定义目录(不是当前用户~/,默认情况下pm2正在使用)启动pm2 :

HOME=/var/www pm2 start app.js
Run Code Online (Sandbox Code Playgroud)

任何用户都可以访问目录(与之相比~/,但是其他服务器用户仍然无法访问该进程.

当其他服务器用户这样做时pm2 list,它会显示0正在运行的进程 - 但是有(由另一个用户启动).当其他用户尝试时HOME=/var/www pm2 list,CLI会抛出错误:

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: connect EACCES
    at errnoException (net.js:905:11)
    at Object.afterConnect [as oncomplete] (net.js:896:19)
Run Code Online (Sandbox Code Playgroud)

所以我想知道如何确保用户能够访问其他服务器用户运行的pm2进程?或者它应该以不同的方式接近?


我想知道为什么每个服务器用户都能够git pull从Git存储库部署最新的源代码,但pm2之后无法重启进程?只有启动pm2进程的用户才能重启...很奇怪.

node.js multiple-users forever pm2 server

25
推荐指数
5
解决办法
2万
查看次数

NodeJS Forever包minUptime和spinSleepTime警告

我正在尝试为node.js运行forever函数,但是我得到了警告;

C:\serv>forever start SERVER.js
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up f
or at least 1000ms
info:    Forever processing file: SERVER.js
Run Code Online (Sandbox Code Playgroud)

如何设置--minUptime--spinSleepTime删除这些警告

安装forevernpm install forever -g

node.js forever

23
推荐指数
3
解决办法
3万
查看次数

使用nodejs永久传递v8选项

所以我永远使用nodejs来保持我的服务器.我需要传递一些v8选项.我可以通过nodejs命令行来做到这一点,但我怎么能永远这样做呢?

node.js forever

19
推荐指数
2
解决办法
6223
查看次数

NodeJS/Forever存档日志

我正在使用永远运行我的节点应用程序.当我永远开始时,我指定在哪里写日志.我还指定附加到日志.这里的问题是我的日志将在几个月的过程中失去控制.

有没有办法在一个时间间隔内存档/滚动日志,即每天滚动/存档日志文件中的内容到另一个文件(即server-2013-3-5.log).这样我就可以根据需要删除/移除旧的日志文件.

我刚刚开始考虑使用Winston作为我的记录器,我没有遇到任何有用的东西.

有任何想法吗?

node.js winston forever

18
推荐指数
1
解决办法
1万
查看次数

在Forever下运行的NodeJS上正常关闭UNIX套接字服务器

我有一个NodeJS应用程序,它设置一个UNIX套接字来公开一些进程间通信通道(某种监视的东西).UNIX套接字文件放在os.tmpdir()文件夹中(即/tmp/app-monitor.sock).

var net = require('net');
var server = net.createServer(...);
server.listen('/tmp/app-monitor.sock', ...);
Run Code Online (Sandbox Code Playgroud)

我使用信号处理(SIGINT,SITERM等...)来正常关闭我的服务器并删除套接字文件.

function shutdown() {
    server.close(); // socket file is automatically removed here
    process.exit();
}

process.on('SIGINT', shutdown);
// and so on
Run Code Online (Sandbox Code Playgroud)

我的应用程序正在运行forever start ...以监视它的生命周期.

我的forever restartall命令有问题.当永远这样做时restartall,使用a SIGKILL来终止所有子进程.SIGKILL无法通过进程处理,因此我的应用程序在没有任何关闭过程的情况下死亡

问题是套接字文件在SIGKILL使用时不会被删除.重新启动子进程后,无法启动新服务器导致' listen调用将导致EADDRINUSE错误.

我无法在应用启动过程中删除现有的套接字文件导致'我不知道它是真正的工作套接字还是先前不干净关闭的痕迹.

所以,问题是......处理这种情况的更好方法是什么(SIGKILL和UNIX-socket服务器)?

unix-socket node.js forever

18
推荐指数
1
解决办法
8744
查看次数

在Python中使用forever.js

两个问题:

  • 有没有Python等效于forever.js在后台运行Python进程而不需要sudo?
  • 可以在Python中使用forever.js吗?用virtualenv怎么样?

python forever

17
推荐指数
1
解决办法
1万
查看次数

Forever Node.JS Express 4

你如何使用Forever运行Express 4应用程序?(或者是否有新包装?)

我正在使用包管理器在本地安装Forever运行我的Express 3应用程序.我使用命令:

forever -a start app.js
Run Code Online (Sandbox Code Playgroud)

npm express forever express-4

17
推荐指数
3
解决办法
2万
查看次数

Node.js forever模块 - 获取正在运行的脚本的路径?

当脚本与forever模块一起运行并且您"永远列出"时,您将获得一个包含所有当前运行脚本的文件名的列表.在这种情况下,"myscript1.js"

[0] j2mo /usr/local/bin/node myscript1.js 51004   51005 /Users/me/.forever/j2mo.log 0:14:10:51.420 
[1] Vav3 /usr/local/bin/node myscript1.js 51011   51012 /Users/me/.forever/Vav3.log 0:14:10:21.221 
Run Code Online (Sandbox Code Playgroud)

有没有办法获得所有正在运行的脚本的路径?

unix node.js forever

16
推荐指数
1
解决办法
4765
查看次数

在docker容器中永远启动节点时出错

我有一个问题,当启动节点永远在docker容器中,如果我手动启动工作,而不是相同的命令在Dockerfile中,当构建并启动容器时,退出.该命令在bash中有效:

docker run -it container_name bash forever start -c 'node --harmony' /my/path/app.js
Run Code Online (Sandbox Code Playgroud)

我试图将命令放在Dockerfile中,但容器没有启动

CMD forever start -c 'node --harmony' /my/path/app.js
Run Code Online (Sandbox Code Playgroud)

node.js forever docker

15
推荐指数
1
解决办法
9731
查看次数