我已经安装了gunicorn webserver并制作了gunicorn virtualenv init.d脚本,但是当我service gunicorn start
从项目目录运行服务时它运行良好,但是当我当前的工作目录发生更改(例如/root或任何其他目录)时,它会给我错误。我已经编辑了 init 脚本,并在该脚本cd /root/demoproject/
从任何工作目录运行的开始处添加以下命令。除了cd /root/demoproject/
在初始化脚本中添加命令之外,实际的解决方案还有什么?
答案1
如果脚本需要在特定的工作目录下运行(由于它使用相对路径,或者它所做的任何事情),那么让脚本更改其工作目录并没有什么问题。
人们可能想做的唯一一件事就是如果失败,则以非零退出状态退出cd
:
cd /root/demoproject || exit 1
您还可以根据环境变量的值更改脚本中的目录:
cd "${MY_WORK_DIR:-/root/demoproject}" || exit 1
这会将工作目录更改为 给定的目录,但如果该变量为空或未设置,则MY_WORK_DIR
默认为。/root/demoproject