【问题标题】:Running forever node tasks from shell script using ansible on ec2 instanses在 ec2 实例上使用 ansible 从 shell 脚本运行永久节点任务
【发布时间】:2017-08-28 17:27:53
【问题描述】:

我是 ansible 的新手,正在尝试使用配置管理工具配置我的多个 ec2 实例。

我能够运行它。然而,我被困在了基佬的尽头。我有一个 shell 脚本(由剧本运行),其中还有任务:

forever start app.js
forever start serverScripts.js

脚本会运行,但应用程序不会永远实例化。当我永远列出它时,它会显示

“没有永远运行的进程”

但节点进程确实在后台运行(如下所示)。

根 9725 65.0 6.1 933920 125432 ? 17:35 0:02 /usr/bin/nodejs app.js

剧本中使用的命令:

- name: Execute the script
  command: sh {{ path }}/developmentProcessScript.sh

请指导我永远以完全相同的方式完成脚本的运行!

【问题讨论】:

  • 您以哪个用户身份运行您的剧本?当您尝试以该用户身份运行 forever list 时,您是否看到了永远的过程?您可以包括您的剧本和您用来调用剧本的命令吗?
  • 以 root 身份运行。是的,当我在服务器上手动运行它时,它会永远正常运行。
  • 这可能会有所帮助:immortal.run/post/ansible

标签: node.js ansible forever


【解决方案1】:

当您以启动它的同一用户身份运行时,您将能够看到带有 forever list 的永久进程。在这种情况下,它是根目录。

sudo su - root -c "forever list" 

如果您想永远以其他用户身份运行,请将 become_user 设置为您剧本中的其他内容。

- name: Execute the script
  command: sh {{ path }}/developmentProcessScript.sh
  become_user: some_other_user

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 2016-10-14
    • 1970-01-01
    • 2021-06-17
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多