nginx-upload-moduleモジュールの追加

1513 ワード

どうして?
アップロードの進捗状況が表示されるためです.PHP公式の進捗サポートはNginx+PHP via FastCGIには適用されません.関連記事は、Sessionを使用してアップロードの進捗状況を追跡することを参照してください.本文の最後のWarningはNginxが自分でアップロードを処理することを示して、PHPは1つの最終結果しか得られなくて、過程を追跡することができません.最後の投稿(s.zargesから)も同様の警告を与えた.このようにして、APCのような他の方法を探さなければなりません.私はnginx-upload-moduleを選んだ.
nginx-upload-moduleについて
このモジュールはvkholodkovによって5年前に開発され、現在はNを更新していない.ソースコードは次のとおりです.https://github.com/vkholodkov/nginx-upload-module/tree/2.2.これはドキュメントです.ソースコードを直接ダウンロードします.
ダウンロードが完了したら、解凍:
tar xvfz nginx_upload_module-2.0.11.tar.gz

パッチが必要です
コードは永遠に遠く、八哥は永遠に伝わっている.何年も経って、多くのコードが変わって、多くのものは更に本来の姿を失って、ただそのお兄さんだけが残って、私たちにかつて輝かしい過去を注意しました.現在のNginxは5年前に比べて、ngx_のような多くのものを修正しています.http_read_request_body_tはto_を削除しましたwriteメンバーで、nginx-upload-moduleに必要なメンバーです.その結果、nginx-upload-moduleはコンパイルできません.この問題についての議論はこのリンクを参照してください.私たちはこの兄弟たちに感謝します:davromaniak、彼はnginx-upload-moduleを修正して、エラーを修正して、コンパイルすることができます.これは彼のこの問題の修正に関するブログです.私たちがしなければならないのは彼の修正をダウンロードして、nginx-upload-moduleにパッチを打つことです.
ダウンロードしたPatchファイルの名前はdavromaniakです.txt.
パッチ適用には、次のコマンドを使用します.
cp darvromaniak.txt [nginx_upload_module    ]  
patch ngx_http_upload_module.c davromaniak.txt

モジュールをNginxにコンパイルする
まずこのリンクからNginxソースコードをダウンロードします.次にコンパイル:
cd nginx-1.5.8  

./configure --add-module=[nginx_upload_module    ]  
make  
make install

短い待ち時間でコンパイルとインストールが完了し、Nginxを再起動できます.
問題:
古いnginx-upload-module(2.0)を使いましたが、新しい2.2を使っている場合は、何か問題があったら、自分で解決してください.