所以我猜 pm2 和 SSH 在我的计算机上配置不正确,无法互相配合。我完全能够使用 手动通过 SSH 进入我的远程服务器ssh user@hostname
。
如果有什么区别的话,该服务器是运行 Ubuntu 16.04 的 DigitalOcean 服务器(我还是个初学者,所以我不确定什么信息对于这个问题很重要)。
命令和错误:
jon@jon-AllSeries:~/Workspace/forumerly$ sudo pm2 deploy production setup
--> Deploying to production environment
--> on host 162.243.197.96
○ hook pre-setup
Permission denied (publickey).
setup paths failed
Deploy failed
我的ecology.config.js文件:
module.exports = {
/**
* Application configuration section
* http://pm2.keymetrics.io/docs/usage/application-declaration/
*/
apps : [
// First application
{
name : 'forumerly',
script : 'app.js',
env_production : {
NODE_ENV: 'production'
}
},
],
/**
* Deployment section
* http://pm2.keymetrics.io/docs/usage/deployment/
*/
deploy : {
production : {
user : 'deploy',
host : '162.243.197.96',
ref : 'origin/master',
repo : 'https://github.com/jonlove/forumerly.git',
path : '~/forumerly',
'post-deploy' : 'nvm install && npm install && pm2 reload ecosystem.config.js --env production'
},
}
};
我不知道该如何修复这个问题,甚至不知道该尝试什么。SSH 运行正常,但 pm2 权限被拒绝。
答案1
根据全聚焦方式 (TFM),您需要添加一个key
条目。