使用pm2 ecosystem 创建 ecosystem.config.js 文件

  1. module.exports = {
  2. apps : [{
  3. name:'gezhi', // 服务器名字
  4. script: '/data/gezhi/node/app.js', // 启动文件的地址,egg app.js express 是 bin/www
  5. watch: '.' // 监听文件的变化
  6. },
  7. {
  8. name:'gezhi2',
  9. script:'/data/gezhinode/app.js',
  10. watch:'.'
  11. }
  12. ],
  13. // 没有用到不知道
  14. deploy : {
  15. production : {
  16. user : 'SSH_USERNAME',
  17. host : 'SSH_HOSTMACHINE',
  18. ref : 'origin/master',
  19. repo : 'GIT_REPOSITORY',
  20. path : 'DESTINATION_PATH',
  21. 'pre-deploy-local': '',
  22. 'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production',
  23. 'pre-setup': ''
  24. }
  25. }
  26. };

PM2启动成功后无法访问

  1. pm2 start ecosystem.config.js // 启动所有项目

启动成功不能访问

原因是: node的端口没有被监听
可以是用 netstat -ntlp 来看那些端口被监听
image.png
使用 npn run start 可以监听到端口
image.png

解决办法