簡體   English   中英

AWS EC2,pm2:無法看到pm2運行列表

[英]AWS EC2, pm2 : Cannot see pm2 running list

我正在使用Amazon Linux AMI 2017.03.1(HVM),SSD卷類型。

我通過以下方式安裝了node.js,npm,因為我想全局安裝,如果我沒有全局安裝pm2,當我配置EC2 bootstrapping啟動pm2命令時,它不起作用。

之后我創建了自己的AMI圖像。

### node.js, npm install ###
  $ sudo su
  $ curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
  $ yum -y install nodejs
### pm2 install ###
   $ npm install pm2 -g

當我通過自己的AMI創建新的EC2實例時,這是我在'高級詳細信息'中的用戶數據文本。

### user-data ###
 #!/bin/bash
 cd /home/ec2-user/Node.js-Test
 sudo git pull origin master
 export PM2_HOME=/home/ec2-user/
 sudo env PATH=$PATH:/usr/bin/ pm2 startup systemv -u ec2-user --hp /home/ec2-user
 su ec2-user
 pm2 start /home/ec2-user/Node.js-Test/app.js
 pm2 save

所以當我使用上面的配置啟動新的EC2實例時,pm2命令正在運行,但我看不到正在運行的pm2列表。

當我檢查日志文件/var/log/cloud-init-output.log時 ,它有運行pm2應用程序的信息!

### /var/log/cloud-init-output.log ###
 [PM2] Spawning PM2 daemon with pm2_home=/home/ec2-user/
 [PM2] PM2 Successfully daemonized
 [PM2] Starting /home/ec2-user/Node.js-Test/app.js in fork_mode (1 instance)
 [PM2] Done.
 ┌─────────────────────────────────────────────────────────────────────────────────────────────┐
 │ App name │ id │ mode │ pid  │ status │ restart │ uptime │ cpu │ mem        │ user │ watching │
 ├──────────────────────────────────────────────────────────────────────────────────────────────
 │ app       │ 0  │ fork │ 2677 │ online │ 0        │ 0s      │ 99% │ 15.4 MB   │ root │ disabled │
 └─────────────────────────────────────────────────────────────────────────────────────────────┘
  Use 'pm2 show <id|name>' to get more details about an app

但我看不到運行pm2 list @ ec2-user,@ root

### in terminal EC2 instance ###
 [ec2-user@ip-172-31-10-85 ~]$ pm2 list
 ┌──────────────────────────────────────────────────────────────────────────────────────┐
 │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
 └──────────────────────────────────────────────────────────────────────────────────────┘
 Use 'pm2 show <id|name>' to get more details about an app
 [ec2-user@ip-172-31-10-85 ~]$ sudo su
 [root@ip-172-31-10-85 ec2-user]# pm2 list
 ┌──────────────────────────────────────────────────────────────────────────────────────┐
 │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
 └──────────────────────────────────────────────────────────────────────────────────────┘
  Use 'pm2 show <id|name>' to get more details about an app

有誰知道這個問題和解決方案??? 謝謝。

我改變了EC2用戶數據中的幾個命令

#!/bin/bash
cd /home/ec2-user/Node.js-Test
sudo git pull origin master
sudo pkill -f PM2
sudo pm2 start /home/ec2-user/Node.js-Test/app.js
sudo pm2 startup
sudo pm2 save

我現在可以看到pm2列表輸入sudo -i pm2 list 當我輸入pm2 list時顯示空pm2 list

[ec2-user@ip-172-31-14-68 .pm2]$ sudo pm2 list
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ cpu │ mem       │ user │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ app      │ 0  │ fork │ 2458 │ online │ 0       │ 11m    │ 0%  │ 29.3 MB   │ root │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘

這是/root/.pm2/dump.pm2上下文。

https://github.com/geoseong/Node.js-Test/blob/master/pm2/dump_pm2_sudo_170904

希望對那些遇到這樣問題的人有所幫助。

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM