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

前端之家收集整理的这篇文章主要介绍了无法在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模块来管理它.

猜你在找的Ubuntu相关文章