关于pm2我有几个问题
server-error-0.log
和server-out-0.log
的位置
由于服务器驱动器访问权限的限制,c:\users\user\.pm2\logs
文件位置从<div class="logo-wrapper">
<a class="logo" href="<?php someCodeToGetUrl()">
<img src="<?php getLogoUrl(); ?>" />
</a>
</div>
到其他驱动器。答案 0 :(得分:11)
只想添加@shaochuancs答案,在执行第3步之前,请确保删除旧进程。如果您不删除旧流程,则在启动应用后,您对流程文件所做的更改将不会生效。
在执行上述步骤3之前,您需要发出此命令:
pm2 delete <pid>
答案 1 :(得分:10)
如何更改...日志文件位置的位置?
要更改pm2的日志文件位置,有两种解决方案:在执行pm2命令时将日志路径定义为参数(-l
,-o
,-e
),或者从配置文件中启动pm2。
对于参数解决方案,这是一个例子:
pm2 start app.js -o ./out.log -e ./err.log
如果您不想在每次执行pm2时定义日志路径,您可以生成配置文件,定义error_file
和out_file
,并从中开始pm2:
生成配置文件:pm2 ecosystem simple
。这将生成一个文件ecosystem.config.js
,其中包含以下内容:
module.exports = {
apps : [{
name : "app1",
script : "./app.js"
}]
}
在文件中定义error_file
(用于错误日志)和out_file
(用于信息日志),例如:
module.exports = {
apps : [{
name : "app1",
script : "./app.js",
error_file : "./err.log",
out_file : "./out.log"
}]
}
删除pm2中的现有流程:
pm2 delete <pid>
你可以通过以下方式获得pid:
pm2 status
从配置文件中启动该过程:
pm2 start ecosystem.config.js
通过这种方式,日志会保存到./err.log
和./out.log
。
有关详细信息,请参阅document。
我可以在数据库而不是日志文件中记录错误和信息吗?
我在官方文件中找不到任何资源。您似乎需要自己编写代码并将日志保存到数据库中。
答案 2 :(得分:0)
如果您想在启动时使用已更改的日志路径的pm2:
答案 3 :(得分:0)
如果要将错误日志和控制台日志都写入同一文件,则可能是一个用例,例如我很想登录OneFile推送到ELK。可以使用-l
>
-l --log [path] specify filepath to output both out and error logs
这里是例子
pm2 start server.js -l /app/logs/server.log
进行更改后,请不要忘记按照答案中的说明运行此命令。
pm2 delete <pid>