---
# System prepended metadata

title: 部屬筆記

---

# 部屬筆記

## PM2常見指令
pm2 start //啟動 pm2 → ecosystem.config.js
pm2 list  //查看目前有架多少站台
pm2 delete 3 //刪除id為3的站台
pm2 delete all   //刪除所有站台 
pm2 reload all  //重新整理所有站台
pm2 save //儲存目前的pm2 站台，重開機後會還原
pm2 log //pm2出錯時擬難排除 

## PM2指定打包環境 方法1
pm2 start --env prod

``` js
module.exports = {
  apps: [{
    name: 'jim_nuxt',
    script: './node_modules/nuxt-start/bin/nuxt-start.js',
    instances: 'max', // 負載平衡模式下的 cpu 數量
    exec_mode: 'cluster', // cpu 負載平衡模式
    max_memory_restart: '1G', // 緩存了多少記憶體重新整理
    port: 3001, // 指定伺服器上的 port
    env_prod: {
      //此處可以覆寫
      "name": 'jim_nuxt_prod',
      "PORT": 3001, //指定伺服器上的 port
      "NODE_ENV": "prod"
    },
  }]

};
```

## PM2指定打包環境 方法2
pm2 start --only jim_nuxt_prod

``` js
module.exports = {
  apps: [{
    name: 'jim_nuxt_prod',
    script: './node_modules/nuxt-start/bin/nuxt-start.js',
    instances: '1', //負載平衡模式下的 cpu 數量
    exec_mode: "cluster", //cpu 負載平衡模式
    max_memory_restart: '1G', //緩存了多少記憶體重新整理
    port: 3001, //指定伺服器上的 port
    time: true,
    env: {
      NODE_ENV: "prod"
    }
  }]
};
```


## PM2無法使用NPM指令問題(bash: npm: command not found)

打開.bashrc檔案
``` sh=
sudo nano .bashrc
```

找到
```sh
# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac
```

接著把這四行都註解掉
```sh
# If not running interactively, don't do anything
#case $- in
#    *i*) ;;
#      *) return;;
#esac
```