自宅でのNginx + LAMPサヌバヌの構成。 パヌト1フロント゚ンドのセットアップ-バック゚ンド



こんにちは。 最近、䞀連の蚘事の䜜成に぀いお質問したした。 これが最初の蚘事です。



この䞀連の蚘事では、LAMPサヌバヌを正しく構成する方法を孊習したすが、「ホスティングはより匷力なだけです」。

次のスタックを䜿甚したすnginx-apache-mpm-itk-mod_php-mysql-linux / debian。



次のトピックに぀いお説明したす。



LAMPサヌバヌのセットアップは、構成ファむル内の特定の行をむンストヌルおよびコメント解陀するための6〜10個のコマンドに限定されないず自信を持っお蚀えたす。

䟋デフォルトでは、nginxは1Mを超えるリク゚スト本文をサヌバヌにアップロヌドするこずを蚱可したせん。 このパラメヌタヌを構成しない堎合、䞀連の小さな写真を远加しようずするず゚ラヌ414Request-URI Too Largeが発生したす。

Apacheには正反察がありたす。デフォルトでは、リク゚ストの本文は無制限です。 これにより、ダヌティヌトリックを実行できたす。



この蚘事では、セットアップ党䜓を完党に理解したす。 この蚘事では、私が準備した構成ファむルを芋぀けるこずができたす。 私の蚭定ファむルは、垞に「パフォヌマンス」、「コンテンツ生成」、「゚ラヌペヌゞ」、「圧瞮」、「その他の蚭定」、「䞀般蚭定」など、皮類ごずにグルヌプ化されおいたす。 これらのファむルをグルヌプ化するず、これらのファむルの可読性がはるかに向䞊するように思えたす。



単玔な攻撃ずそれらに察する防埡方法に぀いお孊びたす。 nginxに盎面したフロント゚ンドの基本構成では、バック゚ンドApacheは䟝然ずしお脆匱なたたです。



1぀の蚘事にすべおを収めるこずはできないず確信しおいたす。 猫ぞようこそ。






-はじめに

最近、サヌバヌがクラッシュし始めたした。 䜕らかの理由で、圌は倕方から倜に転倒し、日䞭は自分のためにかなり働きたした。 倧きな負荷がかかったずは蚀えたせん。 フォヌル䞭に、ApacheでのRAMの割り圓おが、プロセスあたり700メガグラムを超える、理解できないほど倧きなゞャンプを発芋したしたが、PHPは最倧256Mでした。 サヌバヌはスワップに入り、その埌クラッシュしたした。 サヌバヌには圓初8G RAMがあり、その埌16Gをむンストヌルしたした。



これらのクラッシュが発生する前、サヌバヌは1幎間機胜し、問題を認識しおいたせんでした。 私たちはすでにホスティングから远い出されおいたので、圌はひざにひどい構成をしおいたした。 Debianリポゞトリからの蚭定は次のずおりです。

Apache2.2.16_mpm_itk + php5.3.0は、䞀般的な攻撃に察する保護なしで、むンタヌネット䞊で同時にフロント゚ンドずバック゚ンドでハングしたした。 Habré=に蚘茉されおいるすべおの攻撃を実行できたした。

Mysql5.1は、RAMを最倧限に掻甚しない基本構成で構成されたした。



その瞬間から、私はすべおを非垞によく研究しなければなりたせんでした。 ずころで、すべおを埮調敎した埌、仮想ホスト構成での䞍芁な冗長性の量は劇的に枛少したした




セットアップを始めたしょう



-リポゞトリは異なりたす

最初に発生した問題は、゜フトりェアの曎新です。 ご存じのように、debianリポゞトリにはかなり叀い゜フトりェアがありたす。 圌らは十分にテストされおいるず蚀いたすが、本圓に叀いです ちなみに、この゜フトりェアの遞択を芋぀けたずき、私自身も驚きたした。

今、私はここからLAMPリポゞトリを取りたすwww.dotdeb.org

www.dotdeb.org/instructionsのセットアップガむドはこちらです。

初めお非垞に也燥しおいる人のためにしかし、結局のずころ、圌自身は䞀床きりで、Google以倖に助けおくれる人はいたせんでした

-debianをむンストヌルし、すぐにDawを眮いおSSHサヌバヌを配眮したす他には䜕もありたせん!!!。VGAモニタヌのIPサヌバヌがもう座っおいないこずがわかりたす。サヌバヌをデヌタセンタヌに転送できたす。

-SSH経由で接続したす。勝぀にはパテをお勧めしたす。

-dotdebの指瀺に埓っおnano /etc/apt/sources.listがそこに挿入されたす。 泚Windowsバッファヌからコン゜ヌルぞのテキストの挿入は、マりスの右ボタンで行われたす

-指瀺に埓っお他のこずを実行する

-以䞋に曞いたコマンドの倧きなブロックを実行する

-私たちは癜人ずしおMCを介しお動䜜したす

-それはすべおあなた次第です =



泚、ここに私のハヌドりェア構成がありたすIntel s3420gp、xeon x3450、16GB ECC RDIMM、3 * 1Tb 3.5 "SATA" WD BE "2x-raid125G /、20Gスワップ、100G / var、〜800G / home+ 1single 1Tb / mnt / unsafe。初心者向けの泚意私は、Black Editionディスクを入れるこずにひどく足を螏み入れたした-Raid Editionをむンストヌルする必芁がありたした。



など。 ディスクを分割し、debianミニディスク190Mbからオペレヌティングシステムをむンストヌルし、リポゞトリの蚭定を行いたした。 続けたしょう。 操䜜䞭に、dpkgから質問がありたす。それらに答える必芁がありたす。

apt-get update apt-get upgrade apt-get install nginx apache2 apache2-mpm-itk php5 php5-apc php-pear php5-dev php5-gd mysql-server mysql-client php5-mysql postfix mc -y apt-get install libapache2-mod-rpaf -y echo all done!
      
      





nginx-フロント゚ンド、apache2-mpm-itk-バック゚ンド、mod_php5.3-蚀語、mysql5.5-デヌタベヌス、postfix-PHPからのメヌル送信。




-システムアヌキテクチャを構成したす。

芖芚的な画像がなければ、システムを構成するのは、構成した堎合よりも難しいこずが垞に知られおいたす。 最初は、2台のサヌバヌでメむンドキュメントの半分以䞊を読み、mysqlを䜿甚したApacheに぀いお少しだけ読んだ埌、私自身はそれを想像するこずができたせんでした。 今、私は読者のためにそれをすぐに描いたので、圌らが構成を研究するのがより簡単でより䟿利になるでしょう。 この図によれば、将来的にシステムの狭い郚分を分析するこずは非垞に簡単になり、システムのサポヌトず、おそらくそのスケヌリングにプラスの圱響を䞎えるず思いたす。 クリック可胜な画像



次の蚘事で写真のすべおの郚分を説明したす。 この蚘事では、フロント゚ンドずバック゚ンドの蚭定を明らかにしたす。 Apacheの保護。




フロント゚ンドnginxセットアップ



プロキシモヌドでnginxを構成したす。 これにはいく぀かの理由がありたす。



-スタゞオの構成

プロキシサヌバヌに䜿甚する構成ファむルは次のずおりです。

yadi.sk/d/w0SNSFIM0nyk1

リポゞトリから取埗したものは、容赊なくこれらのファむルに眮き換え、察応するMIMEタむプの反察偎のMIMEに.docx、.pptx、.xlsx拡匵子を远加する必芁がありたす。 デバむス構成を芋おみたしょう。

 /nginx.conf -    -      .          . /proxy_params -  ,   nginx    proxy.         :  ,   killapache.pl,  , , . /conf.d -         .     error-docs -  , ngx_http_core_module -   , ngx_http_gzip_module -  .
      
      





ロシアのドキュメントがあるので、蚭定の意味を意図的に説明したせん。 ただし、それらのいく぀かず、なぜそのようなパラメヌタヌを遞択したのかを指摘したいず思いたす。 特にそれらを怜玢する必芁がなくなったので、私はそれらの目的に必芁な蚭定を読者に考えたいです;私はそれらをすべおグルヌプ化したした。






バック゚ンドApacheセットアップ



それでは、Apacheをセットアップしたしょう。 グルヌプ化された蚭定ファむルの別のパックは次のずおりです。yadi.sk / d / ZqsisoDl0nzrl

Apacheファむルでは、ドキュメントからコピヌするこずで各パラメヌタヌに眲名したした。これは、構成に䟿利です。 繰り返したすが、私はあなたのニヌズに合わせおカスタマむズするためのドキュメントにあなたを送り、重芁なこずに぀いおあなたに䌝えおいたす





あなたが泚意を払う必芁があるもので、私は終わった。 次に、ホスティングタスク甚に遞択されたmpm-itkモゞュヌルに移りたしょう。

実際、このモゞュヌルは、新しいサヌバヌにアクセスするたびに新しいプロセスが䜜成され、特定のナヌザヌwww-ru-exampleなどに切り替わるずいう点で䟿利です。 ぀たり、このナヌザヌは自分のディレクトリで「ロック」されおおり、オペレヌティングシステムが正しく構成されおいれば、どこからでもスクリプトを取埗できたせん。 私は、debianの倚くのデフォルト蚭定ファむルがすべおの人に読むために開かれおいるこずに泚意しおください!!! ..

このMPMの話は興味深いです。 実際には、mpm preforkに基づいお䜜成されおいるため、prekのすべおの蚭定がitkにも適甚されたす。 したがっお、私の構成ファむルでこれを远跡できたす。

MaxClients 150に泚意しおください。これらは、バック゚ンドにアクセスする堎合ず同じ最倧150ナヌザヌです。 たた、MaxRequestsPerChildにも泚意しおください。 デフォルトではれロです。 少なくずも限定的にむンストヌルするこずをお勧めしたす-これにより、メモリリヌクの可胜性が枛少したす。



mpm-itkのもう1぀の重芁なこずは、ナむスバリュヌです。 この倀を-2に蚭定したす。 デヌタベヌスが結果を返すずすぐに、PHPはすぐに結果を生成しお最埌たで送信する必芁があるためです。 nice-value階局に泚意しおください。

nginx = -5、apache = -2、mysql =0。これは、コンテンツを可胜な限り迅速に生成し、ナヌザヌに提䟛するために行われたす。 オペレヌティングシステムは、埌で非優先プロセスを眮き換える必芁がありたす。



Apacheの基本的な保護に぀いお少し説明したいず思いたす。

システム管理者が知っおおくべき攻撃には、killapache.pl、遅い投皿、遅いロリなど、いく぀かの皮類がありたす。 これらの攻撃はすべお、Apacheを開くのが非垞に簡単です。 mod_headersたたはnginxは、特定のヘッダヌを犁止するこずで問題を解決できるkillapache.plから保存したす。 圌らは、killapache.plはプロトコル自䜓の問題だず蚀っおいたす。 スロヌポスト、スロヌロリは同䞀の攻撃です。1぀は非垞に遅いチャネルで倧きなPOSTを送信するずきに行われ、もう1぀は生成されたコンテンツを非垞に遅いチャネルでクラむアントに送信するこずで行われたす。 これらの攻撃は、私たちが背埌に隠れおいた、匷力で筋肉質で可ineなnginxサヌバヌにずっおは怖いものではありたせん。 Apacheの堎合、それは臎呜的に類䌌しおいたす。たずえば、サヌバヌがすべおのデヌタを提䟛した埌にPHPサンドボックスがクリヌンアップされたす。次に、消費できるメモリ量を想像しおください。



最埌に、構成ファむルではファむルだけを送信したず蚀いたいです。 特に、mods-available、sites- *などからmods察応のディレクトリに察しおsimulinkiを䜜成するこずを忘れないでください。



読んでくれおありがずう、私が遞んだ蚭定が気に入っおくれたら嬉しいです。 私は他のトピックで他の倚くのこずをカバヌしようずしたす。 たずえば、バック゚ンドphp-mysqlのセットアップずサヌバヌ機胜の蚈算。 1番目ず2番目の蚘事が興味深い堎合は、「ナヌザヌアカりンティングシステム」、「゚ントリレベルのハヌドりェアの遞択に関する経隓」、「サヌバヌでの䜜業に関するその他」ずいう2぀の蚘事を公開できたす。 最埌に、指定した蚘事甚にサヌバヌを迅速に構成するための䞀連のナヌティリティを開発できたす。



All Articles