2011-01-19 5 views
8

私は、MonoApacheを使ってLinux上にASP.Netサイトを開発してホストすることは可能だと知っていますが、それがどれくらいうまく動作しているか知りたいのですが?私はオープンソースを好んでいますが、このプロジェクトでは最も簡単で、最も簡単で、最も信頼性の高いソリューションが欲しいです。Linux上でASP.Netを実行することは、標準的なMicrosoft中心のソリューションとどのように比較していますか?

私が構築する予定のサイトは、かなり基本的なASP.NetサイトMySQLを使用します。

他の誰かが私のような状況でMonoを使った経験があるかどうか、プロジェクトの進捗状況を知りたいと思います。 Microsoft中心のソリューションを使用する方法と比較してどのように比較しましたか?

私はMonoがまだ多少不完全だと知っていますが、欠けている機能は必要ないと思います。

この質問は少し "偏光"かもしれません。最も類似した質問には、MicrosoftやプロLinuxのプロの人からの回答があるようです。私はいくつかの偏りのない返答を望んでいます。好ましくは両方を使って経験を積んだ人からです。

+0

これは本当にあなたが単純なasp.netサイトの意味に依存しています。 –

+0

あなたの要件に応じてもっと好ましいものを使用してみませんか?例えば。 Ruby/PHP?特にそれがかなり基本的なウェブサイトになるなら(あなたが言ったように)。 – volpav

+0

このサイトはルーピング会社のためのもので、見積もりの​​計算に役立ちます。私はそれを合理的に魅力的に見せようとしますが、機能性が主要な目標です。 – ks78

答えて

9

私は約1年半前にMS中心のソリューションに切り替えましたが、今はLinux/Mono/Apache/MySQLベースの仮想サーバですべてのWebサイトとWebプロジェクトをホストしています(元々nginxしかし、私はApacheをWebサーバーとして選択していました。 (あなたが前にLinuxを使ったことがない場合)それはLinuxとMSの間の差ベースの環境に慣れるためにいくつかの時間がかかることが

  • が、私:私はいくつかのポイントには、この構成では、私の(主観的)な経験をまとめることができますこの決定を後悔しないでください。ほとんどの場合、反復可能で自動化できる特定のテクノロジ(たとえば、モノラル並列環境、特定の問題に対処するためのApache仮想ホスト構成など)のインストールと構成手順を作成するのに多くの助けとなりました。

  • Visual Studioを使用してアプリケーションを開発し、Linuxマシンに展開することはできます。このアプローチを使用している場合、可能性のある非互換性のためにアプリケーションを定期的にモノでテストするのは良い習慣です。

  • 私はWebアプリケーションをFTP経由で配備していますが、これはおそらく最も簡単な方法です(FTPサーバーを設定する必要はないので、WinSCPの方が簡単かもしれませんが、好みによって異なります)。

  • これまで私はMono/Apacheでメモリリークが原因でウェブサイトが利用できなくなった2つのケースに遭遇しました。これはおそらく私が古いモノインストールで使用していたBoehmガベージコレクタによって引き起こされたものです。最近のモノバージョンでは、新しいsgen GCに似た問題はありませんでした。

  • 私がLinux環境で動作させるモノで最も好きなのは、MSのものと比較して、管理タスクを実行するときにいつもクリックする必要がないということです。シェルは私のために(あなたはいくつかの練習がある場合)事をスピードアップすることができる統一された管理インターフェイスです。

+0

私は不思議です、MicrosoftからLinuxに切り替えるときにサイトの応答性に違いがあることに気付きましたか?それとも、まったく同じですか? – ks78

+2

私はそれは同じですが、私は大きなトラフィックでそれをテストする機会がまだありませんでした。しかし、MSソリューションを使用している場合には、財政に重大な損害を与える可能性があるシステムを拡張したい(または必要とする)ときには、大きな違いです。また、私は、MSのOSライセンスタイプによってCPUコア数やRAM容量に制約を受けたくないので、Linux(またはオープンソース)ベースのシステムはこの分野でかなり優れています。 – yojimbo87

+0

+1 jimbo - 金融上の制約が問題になることがあります。あなたのサイトがより多くの$$を持ち始めるなら、あなたはWin2008サーバを基本的なロードバランス設定(F5)でWebクラスタに追加することができます... MySqlクラスタでも。私が持っている唯一の問題は、Linux上でRavenDBが実稼動していないことです。( – bbqchickenrobot

4

私の経験からモノを使ったASP.NETのホスティングは、非常に簡単で高速です。私はMySQLとPostgreSQLを使用してMono ASP.NET MVC 1/2を使用してApache mod_monoを提供するプロジェクトを複数ホストしています。

Windows Serverでの展開と比較します。モノラルASP.NETを展開するために既にすべてのパッケージを提供している現代的なLinuxディストリビューションを使用するとかなり狭いです。唯一の欠点は、IOアクセスの点でポータブルなWebアプリケーションを十分に確保し、プロジェクトをデバッグして公開するために必要な学習曲線と経験が非常に短いことです。

Linuxでプロジェクトを展開する場合。サーバー上で完全に制御できる場合は、MercurialやGitなどのバージョンコントロール(VS)を使用すると簡単です。 Uがより多くの経験を積んでいれば、統合はより良いものになります。私は主にそう怒鳴るステップ水銀使用すると、私は通常行うステップですが、私はGitのために、それはほぼ同じだと思う:

  • 水銀インストールし、mod_wsgiの設定、hgweb.wsgiと
  • 初期VSレポをhgwerb.configし、 hgweb.configで公開し、xbuildを更新して呼び出すときに自動的にビルドするようにフックを設定する
  • mod_mono.confでモノアプリケーションとしてリポジトリを公開する
  • Visual Studioでコードを作成するだけで、コミットし、tortoiseHgを使用してサーバーにイベントログインせずに変更内容をプッシュします(repo hgrcでrepo url、ユーザー、パスワードを設定します)
+1

私の提案Amazon EC2を使用している場合は、openSuSeを使用して簡単に生成された画像をhttp://susestudio.com/で開くことができます。openSuSe for mono imhoはとても役に立ちます。 –

+0

ありがとうございます。私はsusestudioを検討してきましたが、これまでにopenSuSeを使ったことはありませんでした。 – ks78

+0

私は当初、susestudioは無料だと思っていたが、明らかにそうではなかった。好奇心からどれくらいの費用がかかりますか? – ks78

-2

あなたはモノのようなものを経由してLinux上でASPを展開することができますが、あなたがそのようなビジュアルスタジオ、WebMatrixの、またはVisual Web開発者としてMicrosoftのIDEを使用している場合、ライセンスは、Microsoftのサーバー上でこれらを展開することができますので、予めご了承ください!

+1

Microsoft EULAはこのような制限を設けていません。 –

関連する問題