相关疑难解决方法(0)

纠正gunicorn.conf以获取Django使用的环境变量

我正在使用Nginx作为Web服务器并Gunicorn安装在我的VPS上部署Django应用程序virtualenv.(我用virtualenvvirtualenvwrapper.)

当我Gunicorn像这样运行时,可以找到环境变量(例如数据库密码,名称):

workon virtual_env_name
# from my_project's root path
gunicorn my_project.wsgi --bind localhost:9000 --daemon
# this works
Run Code Online (Sandbox Code Playgroud)

我以这种方式导出环境变量:

# /home/user_name/Envs/virtual_env_name/bin/postactivate
export DATABASE_PASSWORD="secret_password"
Run Code Online (Sandbox Code Playgroud)

但是,下面的方法不会(无论是否virtual_env_name激活):

sudo service gunicorn start
# env variables can't be found - KeyError thrown
Run Code Online (Sandbox Code Playgroud)

这是我的gunicorn.conf脚本的样子:

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

# If the process quits unexpectadly trigger a respawn
respawn

setuid user_name
setgid www-data
chdir /home/user_name/my_project

exec …
Run Code Online (Sandbox Code Playgroud)

django virtualenv gunicorn

4
推荐指数
1
解决办法
3575
查看次数

标签 统计

django ×1

gunicorn ×1

virtualenv ×1