0

ユーザーとしてログインして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

それは動作しません。

実際には、2番目のコマンドは次のとおりです。

exec /bin/su -c "FIRST_COMMAND" - www-data

問題は、渡された設定ファイル内からインポートされた中間設定ファイルを正しくインポートできないことです。ENV(またはパス)の問題だと思いますが、修正方法がわかりません。

\\上記は表示用の行区切り文字です。実際には1つのライナーを使用しています)

4

1 に答える 1

1

1つの違いは、suを-オプションとともに使用すると、ホームディレクトリに自動的にcdすることです。コマンドの前にCDを追加してみてください。

exec /bin/su -c "cd /var/www/ssrc/...; python ..." - www-data

それ以外の場合:どのようなエラーメッセージが表示されますか?

于 2012-04-25T22:03:42.300 に答える