基本的なWebサイトの構築とサーバー環境の構成をすばやく学習する方法

実験1:詳細については、Alibaba CloudにTomcatサーバーをデプロイする 

事業の背景

TomcatはWebサイトのサーバーです。各Webサイトの背後には、そのWebページを解析するためのサーバーがあります。Tomcatは、Javaのサーブレットプロセッサです。サーブレットベースのJavaプログラムの実行をサポートします。同時に、JSP自体もサーブレットテクノロジーに基づいています。伝説のSpring、Struts、JSFなどすべてがサーブレットに基づいており、Tomcatで実行できます。

技術的背景

Tomcatは、Apache、Sun、および他の企業や個人によって開発された、Apache Software FoundationのJakartaプロジェクトの中核プロジェクトです。Sunの参加とサポートのおかげで、最新のサーブレットおよびJSP仕様は常にTomcatに反映され、Tomcat 5は最新のサーブレット2.4およびJSP 2.0仕様をサポートします。Tomcatはテクノロジーが高度で、パフォーマンスが安定していて、無料であるため、Javaの愛好家に愛され、一部のソフトウェア開発者に認められており、人気のあるWebアプリケーションサーバーになっています。

Tomcatサーバーは、無料のオープンソースWebアプリケーションサーバーです。軽量のアプリケーションサーバーであり、中小規模のシステムと同時ユーザーで広く使用されています。JSPプログラムの開発とデバッグの最初の選択肢です。

実験2:LAMP環境をすばやく構築してデプロイする  詳細についてはクリックしてください

LAMPは、Linux(オペレーティングシステム)、ApacheHTTPサーバー、MySQL(MariaDB、データベースソフトウェアを指すこともあります)、およびPHP(PerlまたはPythonを指すこともあります)の最初の文字を指し、一般にWebアプリケーションプラットフォームの構築に使用されます。これらのオープンソースプログラムは他のいくつかのプログラムと連携するように特別に設計されていませんが、この組み合わせは無料でオープンソースであるため人気が高まっています(ほとんどのLinuxディストリビューションにはこれらのソフトウェアがバンドルされています)。一緒に使用すると、動的ソリューションパッケージのように動作します。LAMPは、Java / J2EEアーキテクチャと比較して、豊富なWebリソース、軽量、迅速な開発という特徴を持っています。Microsoftの.NETアーキテクチャと比較すると、LAMPには、ユニバーサル、クロスプラットフォーム、高性能、低価格という利点があります。 、品質または価格は、企業がウェブサイトを構築するための推奨プラットフォームです。

ApacheはLAMPアーキテクチャのコアWebサーバーであり、オープンソース、安定性、および豊富なモジュールがApacheの利点です。ただし、Apacheの欠点は、膨らみ、大きなメモリとCPUのオーバーヘッド、およびパフォーマンスの低下です。これは、一部の軽量Webサーバー(nginxなど)ほど効率的ではなく、静的ファイルに対する軽量Webサーバーの応答性は、 Apacheサーバー。PHPをロードするには、WebサーバーとしてのApacheが最適です。トラフィックが多い場合は、nginxを使用して非PHP Webリクエストをロードできます。Nginxは、高性能のHTTPおよびリバースプロキシサーバーであり、その安定性、豊富な機能セット、サンプル構成ファイル、および低いシステムリソース消費で知られています。Nginxは、PHPやCGIなどの動的言語をサポートしていませんが、負荷分散とフォールトトレランスをサポートしています。これは、Apacheで使用でき、軽量HTTPサーバーの最初の選択肢です。

PHPアクセラレーションはeAcceleratorアクセラレーターを使用します。eAcceleratorは無料のオープンソースPHPアクセラレーターであり、最適化と動的コンテンツキャッシングにより、PHPスクリプトキャッシュのパフォーマンスを向上させ、コンパイル時にPHPスクリプトでサーバーのオーバーヘッドをほぼ完全に排除します。また、スクリプトを最適化して実行効率を上げます。PHPプログラムコードの実行効率を1〜10倍にできるようにします。

オープンソースデータベースの中でも、MySQLはパフォーマンス、安定性、機能の点で最初の選択肢です。数百万レベルのデータストレージに到達できます。MySQLとWebサーバーは、Webサイトの最初にまとめることができますが、訪問数が特定の規模に達した場合、MySQLを使用する必要があります。データベースはWebサーバーから独立しており、WebサーバーとMySQLサーバー間の安定した接続を維持しながら、別のサーバーで実行されます。

実験3:LNMPをAlibaba Cloudにデプロイする  詳細についてはクリックしてください

LNMPの概要

LNMPは、LinuxシステムでのNginx + MySQL + PHPこの種のWebサイトサーバーアーキテクチャの略です。

Linux:これは、一種のUnixコンピュータオペレーティングシステムの総称であり、現在最も人気のある無料のオペレーティングシステムです。代表的なバージョンは、debian、centos、ubuntu、fedora、gentooなどです。

Nginx:は、高性能のHTTPおよびリバースプロキシサーバーですが、IMAP / POP3 / SMTPプロキシサーバーでもあります。

Mysql:は小さなリレーショナルデータベース管理システムです。

PHP:サーバー側で実行されるHTMLドキュメントに埋め込まれたスクリプト言語です。

これらの4種類のソフトウェアはすべて無料でオープンソースのソフトウェアであり、これらを組み合わせることで、無料で効率的で拡張性の高いウェブサイトサービスシステムになります。

Nginxの紹介と使用シナリオ

Nginxはロシア語で書かれた非常に軽量なHTTPサーバーで、「エンジンX」と発音される高性能のHTTPおよびリバースプロキシサーバーであり、IMAP / POP3 / SMTPプロキシサーバーでもあります。Nginxは、ロシアで2番目にアクセス数の多いサイト、Rambler.ruのためにロシアのIgor Sysoevによって開発されました。Rambler.ruは、サイトで3年以上実行されています。Igor Sysoevは、プロジェクトのビルド時にBSDライセンスを使用しました。

NginxのパフォーマンスがApacheよりもはるかに高いのはなぜですか?これは、Nginxが最新のepoll(Linux 2.6カーネル)とkqueue(freebsd)ネットワークI / Oモデルを使用しているのに対し、Apacheは従来の選択モデルを使用しているためです。現在、Linuxでの同時並行アクセスに耐えられるSquidとMemcachedは、epollネットワークI / Oモデルを使用しています。

Apacheで使用される選択ネットワークI / Oモデルは、接続された多数の読み取りと書き込みの処理において非常に非効率的です。メタファーを使用して、Apacheで使用されている選択モデルとNginxで使用されているepollモデルの違いを分析してみましょう。大学で勉強していて、寮にたくさんの部屋があり、友達があなたのところにやって来ると仮定します。叔母の選択バージョンは、あなたが見つかるまで友達を連れて各部屋を探します。叔母のエポールバージョンでは、まず各クラスメートの部屋番号を書き留めます。友達が来たら、あなたが住んでいる部屋を友達に教えるだけで済みます。友達を連れて建物内の誰かを探す必要はありません。この建物にクラスメートを見つけるために10,000人の人がいる場合、より効率的な叔母の選択バージョンとエポールバージョンは自明です。同様に、I / Oのポーリングは、同時実行性の高いサーバーで最も時間がかかる操作の1つであり、誰が選択してepollを実行するとパフォーマンスが向上するかが非常に明確になります。

同時接続数が多い場合、NginxはApacheサーバーの優れた代替手段です。Nginxは7層の負荷分散サーバーとしても使用できます。Nginx 0.8.46 + PHP 5.2.14(FastCGI)は、30,000を超える同時接続に耐えることができます。これは、同じ環境でのApacheの10倍に相当します。

おすすめ

転載: www.cnblogs.com/IT-Evan/p/12673973.html