2012-02-06 9 views
1

here C++をWebサーバーに配置するにはどうすればよいですか?この記事毎の

  • (1)あなたのプログラムSSLのようなものを提供するために、おそらくApacheのを通じてプロキシスタンドアロンのWebサーバーを(作り、C++で全体のことを行い、静的メディア、認証などの3つの方法

    があります)
  • (2)Apacheを介してcgi-binでC++を実行する
  • C++パートにシェルするPHPラッパーを作成します(これは、パフォーマンスクリティカルな部分が小さい場合は素晴らしいオプションです。 PHPのガベージコレクションと文字列操作があなたに与える慰めを利用する)

どちらが最善であるかわからないので、ボリュームの大きいサイトが何をしているのか調べました。ここからの投稿は2010

であり、PHPをC++に変換するために静的解析ツールHip Hopを使用しています。

私は静的解析ツールは必要ありません。私は約1500行しか手で変換できませんが、私は出発点が必要です。

今はランプスタックを実行しており、(P)HPを差し引いたままにしておきたいと思います。

Facebookの仕組みを説明しているlinkがあります。それがどれほど正確かはわかりません。

感謝のコメント注意点としては

+1

PHPを使用する際の問題点は何ですか? – dynamic

+2

あなたが確かめることができることは、Facebookが稼動するものはどれもカスタマイズされていることです。 PHPラッパーの実行をかなり除外できます。 PHPをC++にコンパイルしてPHPから再度呼び出すのはあまり意味がありません。 – Mchl

+0

AFAIKのFacebookは、リンクされた技術、 'HipHop'を使用します。それを実行するにはさまざまな方法があるようです。おそらく、このリンクは次のように役立ちます:https://github.com/facebook/hiphop-php/wiki/running-hiphop – Dan

答えて

2

、Facebookはほぼ確実に非常に高い効率と引き換えに高い管理コストを必要とする高度にカスタマイズされたソリューションを使用しています。これは実際にあなたが望むものであるとは思われません。

LAMPスタックの "P"を置き換えるだけでよいので、Linux、Apache、MySQL(該当する場合)の部分を "LAM"にしておきたいということを意味します。それは良いアイデアです; Facebookの規模でカスタムWebサーバーを稼働させることには利点がありますが、実際にはそれが実際に役に立つとは思えず、Apacheの実行を続けることはずっと簡単で簡単です。セキュリティについて考える必要はなく、バグを自分で修正する必要はありません。

そして、あなただけのPHPだけでなく、すべてのPHPを翻訳してC++をPHPは理にかなっていません。

あなたのケースでは、最も良い解決策は、既存のApacheサーバーでcgi-bin経由でC++アプリケーションを実行する可能性が最も高いことです。

1

FastCGIは、CGIよりはるかに優れたオプションであり、特定の状況ではCGIのように動作します。 Apacheで作業したいだけなら、Apacheモジュールを開発することもできます。The Apache Modules Bookこれは、アプリケーション・サーバーのような多くの方法で動作するC開発の多くの要素について説明しています。

注意深いC/C++コーディングを使用すると、限られたメモリで顕著なパフォーマンスを達成できます。すべてではなく、状況によっては非常に強力です。

関連する問題