微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在Ubuntu EC2实例上通过Ansible安装PM2服务

我正在使用Ansible在EC2 / Ubuntu实例上创建pm2服务.下面是脚本.当我运行它时,安装了PM2并启用了该服务.当我运行pm2列表时,我没有看到服务,但我可以grep它(ps aux | grep节点)并看到它正在运行.它似乎也像pm2的影子副本正在运行并加载应用程序,但我似乎无法控制它.
- hosts: comm
  sudo: yes
  tasks:
    - npm: name=pm2 global=yes
    - name: configure pm2 to restart on startup
      shell: pm2 startup ubuntu >& /dev/null chdir=~/ executable=/bin/bash
      sudo: yes
      sudo_user: root
    - command: sudo env PATH=$PATH:/usr/bin pm2 startup ubuntu -u ubuntu
      sudo: yes
    - command: /usr/bin/pm2 save
    - command: /usr/bin/pm2 start /home/ubuntu/something/app.js --name something
这个剧本不是幂等的,每次运行剧本时都会运行shell任务,你需要为该任务提供一个 creates参数.

在PM2的current version

var scriptFile = '/etc/init.d/pm2-init.sh',script = cst.UBUNTU_STARTUP_SCRIPT;

此外,sudo的使用是多余的,因为它已经在上面全局指定,认是sudo到root,所以这也是多余的.

此外,一旦有服务的init脚本,最好使用service模块来管理它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐