如果我以用户身份登录www-data
并运行此命令,它将起作用:
python /var/www/ssrc/jvwf/manage.py runfcgi --settings=spzr.settings-dev \\
method=prefork socket=/tmp/www/spzr.socket pidfile=/tmp/www/spzr.pid \\
minspare=4 maxspare=8 maxchildren=128 maxrequests=65535 daemonize=false
但是,当我从 运行它时root
,以下列方式(作为运行www-data
):
exec /bin/su -c "python /var/www/ssrc/jvwf/manage.py runfcgi \\
--settings=spzr.settings-dev --pythonpath=/var/www/ssrc/jvwf \\
method=prefork socket=/tmp/www/spzr.socket pidfile=/tmp/www/spzr.pid \\
minspare=4 maxspare=8 maxchildren=128 maxrequests=65535 \\
daemonize=false" - www-data
这没用。
实际上,第二个命令只是:
exec /bin/su -c "FIRST_COMMAND" - www-data
问题是它无法正确导入从传递的设置文件中导入的中间设置文件。我想这是一个 ENV (或path)问题,但我不知道如何解决它。
(\\
以上是用于显示的行分隔符,我在现实中使用的是一个衬垫)