0

我使用 bash 脚本来运行 gunicorn。它被命名为_run_gunicorn.sh_

#!/bin/bash
NAME=new_project 
DJANGODIR=/home/flame/Projects/$NAME
SOCKFILE=/home/flame/launch/web.sock
USER=flame                               
GROUP=flame                                                     
DJANGO_SETTINGS_MODULE=$NAME.settings 
DJANGO_WSGI_MODULE=$NAME.wsgi

# export PWD=$DJANGODIR   # still not work if I uncomment THIS LINE

RUNDIR=$(dirname $SOCKFILE)
test -d $RUNDIR || mkdir -p $RUNDIR
gunicorn ${DJANGO_WSGI_MODULE}:application \
  --name $NAME \
  --workers 7 \
  --user=$USER --group=$GROUP \
  --log-level=debug \
  --bind=unix:$SOCKFILE

如果我从项目目录运行:

[/home/flame/Projects/new_project]$ bash run_gunicorn.sh

它运作良好。但如果

[~]$ bash Projects/new_project/run_gunicorn.sh

它会引发错误:

gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>

我想这是关于当前工作目录的。所以我在gunicorn运行export PWD=$DJANGODIR之前更改了 add 。但错误仍然存​​在。

是关于一些与python相关的环境变量吗?或者有什么问题?

4

1 回答 1

3

使用

export PWD=$DJANGODIR

你实际上并没有改变你当前的工作目录。您可以使用pwd. set你将不得不包括类似的东西

cd $DJANGODIR

进入你的脚本。

于 2013-12-22T11:15:32.067 回答