PC が Web サーバーとして機能できる理由と、できない理由は何ですか?

PC が Web サーバーとして機能できる理由と、できない理由は何ですか?

コンピュータを Web サーバーとして使用することについて質問があります。特定のコンピュータが Web サーバーになれるのはなぜですか? Web サーバーになるためにはどのような機能が必要ですか? コンピュータが Web サーバーとして機能できない場合はありますか?

答え1

ネットワークに接続でき、Web サーバー ソフトウェアを実行できるコンピューターであれば、ほとんどすべてのコンピューターを [Web] サーバーとして使用できます。Web サーバーは非常にシンプルで、無料のオープン ソース Web サーバーもあるため、実際にはどのデバイスでも Web サーバーとして機能できます。

より大きな問題は、ネットワーク側です。システムをサーバーとして動作させるには、他のマシンがそのシステムにアクセスできる必要があります。LAN 内で使用するだけであれば問題はありませんが、より広いインターネットから使用する場合は、データをそのシステムにルーティングする必要があります。これには、サーバーに関連付けられた静的 IP アドレス (またはルーター経由で転送されたポート)、またはドメイン名/サブドメインを変化する動的 IP アドレスにマップできる外部サービスが必要です。

(ちなみに、10ドルのコンピューター基本的な Web サーバーとして機能します。

もちろん、どのデバイスでも Web サーバーとして機能できますが、Web サイトの機能は大きく異なる可能性があり、特定の Web サイトによっては、安価なデバイス (または低速の接続) では要求に応えられない可能性があります。

上記はすべて Web サーバーについて説明していますが、ほぼすべての種類のサーバーについて同じことが言えます。

答え2

まったく難しいことではありません。単に「Web サーバー」の定義によって決まります。

マイクロコントローラのような単純なデバイス上で「Web サーバー」を実行することは完全に可能です。

最低限必要な Web サーバーが何をする必要があるか考えてみましょう。クライアントにテキストを出力する必要がありますが、必ずしも HTML である必要はありません。リクエストがリクエストであることを認識し、適切に応答する必要があります。「クライアント」がローカルである場合は、ネットワーク接続も必要ありません。まったく意味のない Web サーバーになります。

これはウェブサーバーに相当するもので、これらのいずれか

ここに画像の説明を入力してください

クライアントにネットワーク接続を追加し (イーサネットは便利ですが、Wi-Fi で実行されている Web サーバーに接続できない技術的な理由はありません)、クライアントからルーティングできるようにするとさらに良いでしょう。

5ドルESP8266– 安価で最小限のマイクロコントローラとWi-Fiがあれば、そのほとんどを処理でき、基本的な動的コンテンツも処理できるかもしれない。

私は Python を使ってファイルを素早く共有するために、このようなものを使用しています。マイクロコントローラでこのようなものを書いたり、携帯電話で実行したりすることも完全に可能です。

静的コンテンツは退屈です。動的言語を追加すると、より重いシステムを検討する必要があります。Linux または Windows で動作するものは便利です。

この時点では、消費者向けルーター、UI で Web ページを使用する小規模なアプリケーションなどについて話していることになります。

ウェブサーバーはそれほど複雑な問題ではなく、5行のbashLinux上で実行できます。破滅...しかし、doom を実行できるシステムであれば、Web サーバーも実行できます。

良い特定の負荷を処理できる Web サーバーのセットアップは、やや複雑です。

答え3

最低

文字通り、どれでもコンピュータが以下の条件を満たしていれば、Web サーバーになることができます。

  • ネットワーク接続
  • 非常にシンプルなウェブサーバーアプリ。このような

しかし、それで十分でしょうか? さて、それは難しい質問です。

イントラネットの提供

コンピューターが、コミュニティ全体 (学校、会社、博物館など) に最新の Web ページや Web アプリを提供する Web サーバーになるには、次の操作を実行します。

  • 複数のコンピュータに同時に応答できるハードウェア。Linux または Windows XP を実行している古いコンピュータでも問題ないかもしれません。
  • 十分な帯域幅を備えた高速ネットワーク接続 (1 Gbit/秒のイーサネットまたは 802.11g Wi-Fi など)。
  • 優れたウェブサーバーアプリ、例えばIISアパッチエンギンクスまたはその他(驚いたことに、この3つは無料です。)

しかし、それは小規模な事業にとっては最低限のものでした。運用が拡大すると (つまり、トラフィックが増加し、静的ページではなく複雑な Web アプリを提供するようになると)、ニーズも大きくなります。最終的には次のものが必要になります。

  • 複数の Xeon CPU と数百ギガバイトの RAM を搭載したラックマウント型サーバーなどのサーバークラスのハードウェア
  • 光ファイバーネットワーク

外の世界に貢献する

インターネット インフラストラクチャを活用して全世界にサービスを提供するには、次のものが必要です。

  • パブリックIPアドレス
  • パブリックDNSサーバー
  • 発行されたデジタル証明書信頼できる認証局安全な接続を確立するため

これらがなければ、潜在的ウェブサーバー。

答え4

Python がインストールされたコンピューター (PC、ラップトップ、スマートフォン、raspberryPI など) が手元にある場合は、次のように入力するだけです。

$ python -m SimpleHTTPServer

または、Node.js がインストールされている場合:

$ npm install http-server -g
$ http-server

おめでとうございます。Web サーバーができました。

関連情報