Nodejs forever能不能指定别名或uid,一堆的app.js都不知道谁是谁

Nodejs forever能不能指定别名或uid,一堆的app.js都不知道谁是谁

因为vps上有很多个网站,forever list一大堆全部是/usr/bin/node app.js

10 回复

当然可以!forever 是一个用于 Node.js 应用程序的进程管理器,它可以帮助你确保你的应用在退出后能够自动重启。如果你有多个 app.js 文件,可以通过为每个应用指定唯一的标识符(如别名或UID)来更好地管理和区分它们。

使用别名

你可以使用 --name 参数来为你的应用程序指定一个别名。这样,在运行 forever list 命令时,就可以通过别名来识别不同的应用。

示例代码:

假设你有两个应用 app1.jsapp2.js,你可以分别启动它们并指定别名:

# 启动第一个应用,并为其指定别名为 "my-app1"
forever start --name my-app1 /path/to/app1.js

# 启动第二个应用,并为其指定别名为 "my-app2"
forever start --name my-app2 /path/to/app2.js

然后,当你运行 forever list 命令时,输出将包含这些别名,使你更容易区分不同的应用:

$ forever list
info:    Forever processes running
data:        uid  command                                     script forever pid   id logfile           uptime
data:    [0] my-app1 /usr/local/bin/forever start /path/to/app1.js 3456     3457  /root/.forever/my-app1.log 0:0:1:29.786
data:    [1] my-app2 /usr/local/bin/forever start /path/to/app2.js 3458     3459  /root/.forever/my-app2.log 0:0:1:29.786

使用UID

除了别名外,forever 还允许你为每个应用指定一个唯一的标识符(UID)。这在需要精确控制应用实例时非常有用。

示例代码:

# 启动第一个应用,并为其指定UID为 "app1"
forever start -u app1 /path/to/app1.js

# 启动第二个应用,并为其指定UID为 "app2"
forever start -u app2 /path/to/app2.js

然后,当你运行 forever list 命令时,输出将包含这些UID:

$ forever list
info:    Forever processes running
data:        uid  command                                     script forever pid   id logfile           uptime
data:    [0] app1 /usr/local/bin/forever start /path/to/app1.js 3456     3457  /root/.forever/app1.log 0:0:1:29.786
data:    [1] app2 /usr/local/bin/forever start /path/to/app2.js 3458     3459  /root/.forever/app2.log 0:0:1:29.786

通过使用别名或UID,你可以更清晰地管理和区分在 VPS 上运行的不同 Node.js 应用程序。


process.title = ‘xxx’;就可以了

可以用 forever columns add dir 显示app.js所在的目录

谢谢,这个好,不过这个网页的排版有点不好 :P

谢谢,不过楼下那个似乎要好一些,没试过这个效果是怎么样

还有一种方法也能达到同样的目的。就是在用forever start启动应用的时候加上 --sourceDir 参数,示例如下

forever start --sourceDir ~/app1/ app.js

这样 forever list 的时候显示的script就是个包含路径的完整文件地址了。显示效果:

data: script logfile uptime
data: [0] /home/www/app1/app.js /home/www/.forever/av4I.log 0:0:4:50.103

forever启动之后 每个进程是有带绝对路径的 你ps找一下即可

在使用 forever 管理多个 Node.js 应用程序时,确实会遇到难以区分不同应用的情况。你可以通过为每个应用指定别名或 UID 来解决这个问题。这样可以在 forever list 中更容易地区分不同的应用程序。

示例代码

  1. 安装 Forever(如果还没有安装):

    npm install -g forever
    
  2. 启动应用程序并指定别名或 UID

    使用别名:

    forever start --name myApp1 /path/to/app1.js
    

    使用 UID:

    forever start --uid "myApp2" /path/to/app2.js
    
  3. 查看当前运行的应用程序列表

    forever list
    

    输出应该类似于:

    info:    Forever processes running
    data:        uid      command       script forever pid   id logfile uptime
    data:    [myApp1] /usr/local/bin/node /path/to/app1.js 9876 9877    /home/user/.forever/myApp1.log 0:0:0:0.460
    data:    [myApp2] /usr/local/bin/node /path/to/app2.js 9878 9879    /home/user/.forever/myApp2.log 0:0:0:0.460
    

解释

  • –name: 指定一个别名,方便记忆。
  • –uid: 指定一个唯一的标识符,同样用于区分不同的应用。
  • forever list: 这个命令会列出所有正在运行的 forever 进程,并显示它们的别名或 UID,使你能够轻松地识别出每个应用。

通过这种方式,你可以更清晰地管理你的 Node.js 应用程序,并且可以更容易地识别出哪个应用正在运行。

回到顶部