2016-08-08 3 views
1

私はcpuinfo.shという簡単なスクリプトが動作し、実行可能です。 「DOCUMENT_ROOTとSCRIPT_NAME(またはSCRIPT_FILENAME)を設定し、スクリプトを実行可能で、スクリプト名を取得できませんされますか?」:fcgiwrapにDOCUMENT_ROOTとSCRIPT_NAMEを正しく設定する方法

私は

* 224のFastCGIは、標準エラー出力に送信されるエラーを取得していますクライアント:86.44.146.39、サーバー:staging.example.com、リクエスト: "GET /cpuinfo.sh HTTP/1.1"、アップストリーム: "fastcgi:// unix:/ var/run/fcgiwrap。ソケット:」、ホスト: "staging.example.com"

nginxの設定は

location ~ (\.cgi|\.py|\.sh|\.pl|\.lua)$ { 
    gzip off; 
    autoindex on; 
    fastcgi_pass unix:/var/run/fcgiwrap.socket; 
    include fastcgi_params; 
    fastcgi_param DOCUMENT_ROOT /home/balance/balance-infosystems-web/scripts/; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
} 

ている私は、ハードデバッグするスクリプトのパスをコード化

/home/balance/balance-infosystems-web/scripts/cpuinfo.sh 

を実行するためにfcgiwrap期待していしかし、私はまだ同じエラーが発生しています。

location ~ (\.cgi|\.py|\.sh|\.pl|\.lua)$ { 
    gzip off; 
    autoindex on; 
    fastcgi_pass unix:/var/run/fcgiwrap.socket; 
    include fastcgi_params; 
    fastcgi_param DOCUMENT_ROOT /home/balance/balance-infosystems-web/scripts/; 
    # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    fastcgi_param SCRIPT_FILENAME /home/balance/balance-infosystems-web/scripts/cpuinfo.sh; 
} 

スクリプトを正しく実行するには、nginxサーバーの設定を変更する必要がありますか?

答えて

1

DOCUMENT_ROOTをリセットできないことが判明しました。 私は通常、公にアクセス可能なパスから離れたスクリプトディレクトリを持っています。 私はスクリプトディレクトリがウェブディレクトリと同じレベルであることを知りました。

location ~ (\.cgi|\.py|\.sh|\.pl|\.lua)$ { 
    gzip off; 
    autoindex on; 
    fastcgi_pass unix:/var/run/fcgiwrap.socket; 
    fastcgi_param SCRIPT_FILENAME $document_root/../scripts/$fastcgi_script_name; 
    include fastcgi_params ; 
} 

問題を解決しました。

関連する問題