【发布时间】:2017-04-23 08:31:55
【问题描述】:
我刚刚尝试在“生产”环境中部署节点应用程序。
我使用 PM2 通过此命令运行应用程序。 pm2 start app.js --name <appname>
我的问题是:
- 为什么我看不到我分叉的
child_process的console.log? - 可以拨打多个
child_process.fork吗?
编辑 1
基本上,该应用所做的就是使用chokidar 来查看文件夹。
当有新文件时,它会检查文件类型,然后它会执行以下操作之一:
- 如果文件类型为
.FLV,应用程序会将文档添加到托管在 mLab 中的 MongoDB 集合中。 - 如果文件类型为
.PNG,应用将使用child_process.fork将文件上传到S3 存储桶。 - 如果文件类型为
.MP4,应用程序将使用child_process.fork将文件上传到S3 存储桶,然后运行FFmpeg命令以生成在另一个child_process.fork上运行的屏幕截图,然后触发进程号@987654335 @ 上面,它还对另一个child_process.fork进行 MongoDB 更新。
这是代码sn-ps
1. Chokidar 观察者 (app.js)
编辑 2
为我如何使用 chokidar 和分叉子进程添加了代码 sn-ps。
【问题讨论】:
-
你需要问一个问题,而不是两个。此外,请显示您的应用程序的 pm2 配置以及任何相关的应用程序代码。
-
@Paul 嗨,Paul,感谢您的评论。这是我第一次部署到生产环境,这就是为什么我有很多问题。抱歉,如果帖子太宽泛了,我只是对其进行了编辑以使其更加集中
-
还有 pm2 配置?
-
@Paul 我没有添加任何 PM2 配置,只是简单的命令来启动它
pm2 start app.js。哦,在这个命令之前导出一些 ENV。我是否需要特定的配置才能让 PM2 在生产中更好地运行? -
有很多 pm2 选项,它们取决于您的环境,哪个运行得最好。到目前为止,您可能还不错。
标签: node.js optimization production pm2