2011-07-27 24 views
1

おはようございます。いくつかのデータを掲載しますいくつかのフォームを持っているサイトとファイルを直接リモートサーバーにアップロード

1サーバー:

は、私は次のシナリオを持っています。このデータの一部はデータベースに送られなければならず、アップロードが必要なファイルもあります。

問題は、サーバーの空き容量が不足しているため、アップロードされたファイルを保存する主な機能として1台のサーバーが割り当てられているという問題です。私はssh/ftp/anythingを使って2番目のサーバにアクセスできます。

フォームのアクションを2番目のサーバーに送信するように設定できないという制限があります。

私はファイル2をアップロードして最初のファイルを保存せずに2番目のサーバーをアップロードし、そのあとにコピーすることができますか(空き容量がないためです)。 "ftp:// secondServerIp/whatever、credentials"のようなアップロードパスを設定するようなものです。

答えて

1

2台のサーバー間でNFS共有をマウントできる場合は、2台目のサーバーのフォルダを1台目のローカルフォルダのように表示させることができます。

次に、リモートフォルダをアップロード先として設定するだけで済みます。

+0

アイデアのように聞こえますが、2つは「通常の」方法で解決したいと考えていました。とにかく+1。 – zozo

+0

まあ、それは私には "普通の"方法のように見えます^^ *(これはいくつかのサーバーで、かなり大きなアプリケーションを持っています)* –

+0

それと論じることはできません:)。しかし、私の従業員はそれほど正常に見えません...私はここでしばらく働いていました。何かを構成することを意味するものは、「正常ではありません」です。 – zozo

1

upload_tmp_dir directive in php.iniで別の場所が指定されていない限り、POSTメソッドのファイルアップロードはサーバーのデフォルトの一時ディレクトリに格納されます。これはおそらくNFSファイルのリンクになる可能性があります。または、ディスクスペースが制限されている場合は、ファイルをRAM driveに指定すると、ファイルがメモリに保存されます。次に、それをリモートサーバーにコピーし、RAMドライブからファイルを削除します。これが実用的かどうかは、期待する負荷に依存します。

また、メインマシンにリバースプロキシ(たとえばnginx)を追加し、ストレージサーバーが処理する画像アップロードを透過的にプロキシし、その他のものは通常のサーバーで処理することもできます。

またはフォームアップロードをリダイレクトするApacheにmod_rewriteルールを追加します。

関連する問題