FastDFSでnginxを使用してファイルをアップロードすると、500エラーが発生します(プログラムには問題はありませんが、nginxには問題があります)

プロジェクトの背景:プロジェクトはマイクロサービスアーキテクチャを使用して開発されます。フロントエンドがファイルをアップロードすると、最初にnginxリバースプロキシを経由して対応するアップロードファイルモジュールのサーバーに渡され、次にサーバーが画像をFastDFSにアップロードします。

ファイルのアップロードをクリックした後、次のエラーが発生しました。

500が表示されたとき、最初にプログラムをチェックしたところ、ログが出力されていないことがわかりました。したがって、nginxでのリバースプロキシのプロセスでエラーが発生するはずです。応答ヘッダーのサーバーがnginxであることに注意してください。このときの最初の反応は、nginxがファイルサイズを制限することです。したがって、nginxは次のように構成されます。

nginxを再起動しても、このエラーは引き続き発生するため、nginxログファイルerror.logを確認してください(macは/ usr / local / var / log / nginxディレクトリにあります) 

見つかりました:open() "/ usr / local / var / run / nginx / client_body_temp / 0000000010"が失敗しました(13:アクセスが拒否されました)。アクセス許可がありません。この時点でファイルのアクセス許可を変更できます。

sudo chmod -R 777 client_body_temp

次にnginxを再起動します。これで問題ありません。

情報を確認しました:client_body_tempの機能は、クライアントによってアップロードされた、nginxバッファーのサイズを超えるファイルを一時ディレクトリに保存することです。そのため、いくつかの小さなファイルをアップロードします(たとえば、10k未満、この数を確認していませんか?) 、それは何か悪いことではありません。

おすすめ

転載: blog.csdn.net/Jack_PJ/article/details/85341674