【发布时间】:2021-08-24 18:40:13
【问题描述】:
尝试为我正在使用 Django 构建的 API 设置登台服务器 - 到目前为止,我正在偷工减料,开始使用 python manage.py runserver。但是现在设置变得更复杂了,我决定构建一个 ansible playbok。在我启动 gunicorn 之前,一切都运行良好——因为我希望它在 tmux 会话中运行。手动过程似乎并不容易转化为 ansible。我一直在手动创建 tmux 会话:
tmux new-session -A -s api
然后在这个新的“环境”(subshell?)中运行 gunicorn
问题是(对于 ansible 的老手来说可能很明显),当我开始运行第一步时,我的剧本就挂了,永远不会进入下一步,这就是 gunicorn 的开始。我想这是因为我正在使用 tmux 启动一个新的 shell,并且 ansible 丢失了,没有收到回音(因为,我猜,它仍在等待原始 shell 的响应?这永远不会出现)。是否有正确的方法来执行“tmux”步骤,让 ansible 将其用作下一步的上下文/环境,还是我应该满足于 ansible 进行设置,并手动执行 tmux 操作?在处理 gunicorn 位于 virtualenv 内部的事实时,我遇到了类似的问题,但解决方法是使用完整路径,其中包括 virtualenv 胆量。不确定 tmux 是否有类似的解决方法...
谢谢大家
【问题讨论】: