pm2 部署 node.js項目踩過的坑

pm2部署指令

pm2 deploy ecosystem.json production setup
pm2 deploy ecosystem.json production

配置文件:

//ecosystem.json
{
    "apps": [{
        "name": "Ice",
        "script": "server.js",
        "env": {
            "COMMON_VARIABLE": "true"
        },
        "env_production": {
            "NODE_ENV": "production"
        }

    }],
    "deploy": {
        "production": {
            "user": "root",
            "host": ["120.79.3.xxx"],
            //"port": "39999",
            "ref": "origin/master",
            "repo": "git@code.aliyun.com:lxx2013/ice.git",
            "path": "/home/www/ice/production",
            "ssh_options": "StrictHostKeyChecking=no",
            "pre-deploy-local": "echo 'Deploy Done!'",
            "env": {
                "NODE_ENV": "production"
            }
        }
    }
}

CentOS7 pm2 部署node錯誤提示pm2: command not found]

lxx@imac:~/Desktop/nodejs/ice$ pm2 deploy ecosystem.json production
--> Deploying to production environment
--> on host 120.79.3.108
  ○ deploying origin/master
  ○ executing pre-deploy-local
Deploy Done!
  ○ hook pre-deploy
  ○ fetching updates
  ○ full fetch
正在獲取 origin
  ○ resetting HEAD to origin/master
HEAD 現(xiàn)在位于 e286cc6 =>aliyun
  ○ executing post-deploy `export NODE_ENV=production && pm2 startOrRestart ecosystem.json --env production`
bash: pm2: 未找到命令

  post-deploy hook failed

Deploy failed
1

解決方法:

whereis pm2
pm2: /opt/nodejs/bin/pm2

sudo ln -s /opt/nodejs/bin/pm2 /usr/bin/pm2

nginx http重定向https正確寫法

server {
    listen      80;
    server_name    my.domain.com;
    return      301 https://$server_name$request_uri;
}

server {
    listen      443 ssl;
    server_name    my.domain.com;

    [....]
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容