要在 heroku 上运行我的应用程序,我使用pm2,并使用以下命令配置我的Procfile:
worker: node main.js
在启动我的应用程序之前,我需要使用脚本配置 pm2 的相同模块
npm i -g pm2
pm2 install pm2-logrotate
pm2 install pm2-slack
pm2 set pm2-slack:slack_url $SLACK_URL
pm2 set pm2-slack:log true
pm2 set pm2-slack:error true
pm2 set pm2-slack:restart true
pm2 set pm2-slack:exist true
pm2 set pm2-slack:start true
pm2 set pm2-slack:online true
pm2 set pm2-slack:stop true
那么,这个脚本放在哪里呢?
试过了
我试着把postinstall
脚本放在package.json
....
"scripts": {
"start": "pm2 start ecosystem.json",
"postinstall": "sh post-install.sh"
},
当我登录时heroku run bash
λ heroku run bash
Running bash on <heroku-server>... up, run.XXX
~ $ pm2 l
-------------
Looking for a complete monitoring and management tool for PM2?
_ _ _ _
| | _____ _ _ _ __ ___ ___| |_ _ __(_) ___ ___ (_) ___
| |/ / _ \ | | | '_ ` _ \ / _ \ __| '__| |/ __/ __| | |/ _ \
| < __/ |_| | | | | | | __/ |_| | | | (__\__ \_| | (_) |
|_|\_\___|\__, |_| |_| |_|\___|\__|_| |_|\___|___(_)_|\___/
|___/
Features
- Real Time Dashboard
- CPU/Memory monitoring
- HTTP monitoring
- Event notification
- Custom value monitoring
- Real Time log display
Checkout
https://keymetrics.io/
-------------
[PM2] Spawning PM2 daemon
[PM2] PM2 Successfully daemonized
┌──────────┬────┬──────┬─────┬────────┬─────────┬────────┬────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │
└──────────┴────┴──────┴─────┴────────┴─────────┴────────┴────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
问题
- 我的 Procfile 没有被执行?为什么?
- 放置 mu postinstall 脚本的最佳位置在哪里?我应该创建自己的 buildpack 并放在这里吗?