Windows サーバーと LAMP サーバーの具体的な違いは何ですか? また、どちらを学ぶ必要がありますか?

Windows サーバーと LAMP サーバーの具体的な違いは何ですか? また、どちらを学ぶ必要がありますか?

過去 6 か月から 8 か月の間、私は .NET にかなり取り組んできました。Web サービスについて学びました (専門家ではありませんが)。最近、Web サーバーに強い関心を持つようになり、自分で Web サーバーをセットアップしたいと思っています。Windows Server 2008 が稼働している古いデスクトップ コンピューターを持っていますが、寮に住んでいるため、固定 IP がありません。解決策があることは知っていますが、まずは自分が何をしているのかをよりよく理解したいと思っています。セットアップしたいのは、Web サイトや Android アプリをホストするために使用できる多目的サーバーです。

LAMP サーバーは Windows/IIS サーバーよりもカスタマイズ性が高く (したがって、通常はより効率的) だと聞きました。これは本当でしょうか。Apache は広く普及しているので、その仕組みをもっと詳しく知り、実際に使用方法を学びたいと思っています。LAMP ルートを取る際に不安に思うのは、コマンド ラインだけです (私は 19 歳で、GUI で育ちました)。以前に UNIX コマンド ラインを使用したことがあり、基本的なコマンドやファイル システム ナビゲーションには慣れていますが、Web サーバーのようなものをコマンド ラインから構成すると、頭が真っ白になります。Microsoft ソフトウェアのほとんどすべてを無料で入手できます (学生であることは素晴らしいことです) が、GUI と引き換えに Web サーバーに関する知識を犠牲にしたくはありません。

どのようなルートを取るべきか、何かアドバイスはありますか? Windows に移行する場合、すべてが常にカプセル化され、簡素化されるため、Web サーバーを本当に理解できないのではないかという懸念があります。また、優れた効率的なサーバーには何が含まれるのかを知りたいです。何かアドバイスや書籍、リソースの推奨事項はありますか?

答え1

プラットフォーム (Windows IIS、または Linux と Apache) の選択は、要件によって大きく左右されます。現時点では、Web サーバーを設定して試してみるだけなので、要件は基本的に存在しません。長期的な目標に最も関連のあるテクノロジ スタック (.NET での作業経験があるため、おそらく Windows IIS になるでしょう) を選択し、それを使い、詳しく調べ、学習してください。

LAMP スタックを使用することで、本質的にスーパー管理者 (LAMP に関してはスーパー管理者かもしれませんが...) になれるわけではありませんし、IIS を使用することで、本質的にスーパー管理者になれるわけでもありません"never really understand web servers because everything would always be encapsulated and simplified for me"

特定のテクノロジーをどれだけ学びたいか、どれだけ理解したいかは、テクノロジー自体ではなく、あなたの興味とモチベーションによって大きく左右されます。

答え2

Web サーバーをセットアップしたいですか? ぜひやってみてください。1 年かけて勉強する必要はありません。数分で IIS を実行でき、1 ~ 2 時間で仮想マシンに Apache 構成の Linux をインストールできます。

コマンドラインから Apache を構成するということは、大まかに言うと、「yum install apache」に続いて「テキスト エディタを使用して /etc/httpd/httpd.conf を編集する」ということになります (Linux ディストリビューションに固有)。これは、多数の設定変更を行うための、コンソール コマンドの大規模なチェーンではありません。

LAMP サーバーはカスタマイズ性が高い (したがって、通常はより効率的) と聞きました。

それは当てはまりません。カスタマイズ性が高く、効率的ですが、それは「効率的」が何を意味するかによって完全に異なります。LAMP の P は通常「PHP、Perl、Python、(Ruby)」を指し、これらが IIS/ASP.Net よりも効率的であると主張すると、反論されることになります。

軽量 (高速。「効率的」?) Web サーバーが必要な場合は、nginx を検討する価値があります。

どのようなルートを取るべきか、何かアドバイスはありますか? Windows に移行する際の懸念は、すべてが常にカプセル化され、単純化されるため、Web サーバーを本当に理解できないのではないかということです。

え、IIS がどのように動作するか誰も知らないの?

また、優れた効率的なサーバーには何が含まれるのかを知りたいです。

StackOverflow (Serverfault.com とその仲間) は Windows/ASP.Net/SQL Server 上で実行されており、その方法については Web 上で興味深い投稿がされています (例:http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html

答え3

求めている理解のレベルに応じて、これを回避する方法はいくつかあります。

  • 完全に深く理解するには、コードを徹底的に調べてください。明らかに、そのようなことを行うには、かなりのスキルが必要です。

  • それ以外の場合、学習する最良の方法は、読んで試してみることです。さまざまな構成で Web サイトをセットアップします。友人の Web サイトを無料でホストすることを提案し (ただし、実験的であることを友人に伝えてください)、自分のサイトをいくつかホストします。さまざまな機能を試します。オンライン ドキュメントを読みます。通勤中に読むために、図書館でそのトピックに関する本をランダムに手に取ります。

また、Windows Web サーバーにもかなり高度な機能があります。LAMP の方がカスタマイズ性が大幅に高いと考えるのは必ずしも正しいとは限りません。私自身は Linux ユーザーですが、Windows ユーザーが IIS でかなり高度なことを行っているのを見たことがあります。GUI があると、1337 のコマンド ライン マッド スキルの印象は薄れますが、それは単なる印象に過ぎないかもしれないことを忘れないでください。

一例として、私の知る限り、Stack Exchange ネットワーク (このサイトも含む) は Windows Web サーバー上で実行されています。これは、Windows で素晴らしいことができることを示しています。

答え4

LAMP を学習して使用すると、Windows + IIS を学習するよりもさまざまなテクノロジーをより深く理解できるようになります。

関連情報