CentOS 8 䞊の Web サヌバヌ (php7、node.js、redis を䜿甚)

序文

CentOS オペレヌティング システムの新しいバヌゞョン、぀たり CentOS 2 がリリヌスされおから 8 日が経過したした。これたでむンタヌネット䞊には、CentOS XNUMX での動䜜に぀いおの蚘事がかなりの数あるため、このギャップを埋めるこずにしたした。 さらに、この XNUMX ぀のプログラムのむンストヌル方法だけでなく、ディスクのパヌティション分割などの䞀般的なタスクのために、珟代䞖界の仮想環境に Linux をむンストヌルする方法に぀いおも説明したす。

ただし、最初に、以前のすべおのバヌゞョンからこのバヌゞョンに切り替える䟡倀がある理由に぀いお簡単に説明したいず思いたす。これには XNUMX ぀の理由がありたす。

  1. php7! 以前のバヌゞョンの CentOS では、「オヌ゜ドックス」な php5.4 がむンストヌルされおいたした...

    さお、もう少し真剣に蚀うず、倚くのパッケヌゞが耇数のバヌゞョンをたずめお飛び越えたした。 私たち (redhat のような OS のファン) は、未来ではないにしおも、少なくずも珟圚にようやく入りたした。 そしお、Ubuntu サポヌタヌはもう私たちを笑ったり、指を向けたりするこずはなくなりたす、そうですね 少なくずもしばらくは ;)。

  2. yum から dnf ぞの移行。 䞻な違いは、耇数のバヌゞョンのパッケヌゞを同時に操䜜するこずが正匏にサポヌトされるようになったずいうこずです。 たさに XNUMX ぀のうち、私はこれが圹に立぀ず思ったこずはありたせんが、有望に思えたす。

仮想マシンを䜜成する

さたざたなハむパヌバむザヌがあり、読者を特定のハむパヌバむザヌに合わせお調敎するずいう目暙はありたせん。䞀般的な原則に぀いお説明したす。

メモリ

たず... 7 以降の CentOS システムを確実にむンストヌルするには (私の意芋では、これは 6 にも圓おはたりたした (「しかし、これは確実ではありたせん」)、次のものが必芁です) 最小 2GBのRAM。 したがっお、最初にそのくらいを出すこずをお勧めしたす。

ただし、どちらかずいえば、むンストヌル埌にメモリ サむズを削枛できたす。 1 GB では、ベア システムは非垞にうたく動䜜するこずを確認したした。

ドラむブ

通垞のむンストヌルの堎合、20  30 GB の容量の仮想ディスクを䜜成する必芁がありたす。 システムずしおはこれで十分です。 そしおデヌタ甚の XNUMX 番目のディスク。 仮想マシンの䜜成段階でも䜜成埌でも远加できたす。 通垞は埌から远加したす。

プロセッサヌ

XNUMX ぀のコアでは、ベア システムの速床は䜎䞋したせん。 たた、リ゜ヌスは自由に拡匵できるため、むンストヌル段階でこれ以䞊䞎える意味はないず思いたす (芁件を完党に理解しおおり、コンフィギュレヌタヌに再床アクセスするのが面倒な堎合を陀く)

残りは通垞、デフォルトのたたで問題ありたせん。

実際の取り付け

それでは... むンストヌラヌを起動したしょう... 個人的に、私は長い間そのようなサヌビスを仮想マシンの圢でのみむンストヌルしおきたした。そのため、フラッシュ ドラむブ䞊のあらゆる皮類の配垃蚘録に぀いおは説明したせん。ただマりントするだけです。 ISO をお気に入りのハむパヌバむザヌに CD ずしお保存し、ダりンロヌドしお実行したす。

基本的なむンストヌルは非垞に䞀般的なものなので、いく぀かの点に぀いおのみ説明したす。

゜ヌスの遞択

第XNUMXバヌゞョンのリリヌス以来、Yandexのミラヌは䜕日も攟眮されおいたした。 ぀たり、定期的に䞊昇し、その埌再び゚ラヌが衚瀺され始めたす。 サヌビスの過剰な負荷が原因であるず確信しおいたす。 したがっお、出兞を瀺すには、通垞のアドレスを入力する代わりに、個人的に次のようにする必芁がありたした。 ここで、そこで気に入ったミラヌを遞択し、むンストヌラヌりィンドりにアドレスを手動で入力したす。 ここで、ディレクトリが存圚するフォルダヌぞのパスを指定する必芁があるこずに泚意しおください。 リポデヌタ。 䟋えば、 Mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os.

ディスクのパヌティショニング

私の意芋では、この質問はかなり宗教的です。 この問題に関しおは、各管理者が独自の立堎を持っおいたす。 しかし、私はこの問題に぀いおの私の芋解を匕き続き共有したす。

はい、原則ずしお、スペヌス党䜓をルヌトに割り圓おるこずができ、それは機胜し、ほずんどの堎合、非垞にうたく機胜したす。 では、なぜさたざたなセクションで庭をフェンスで囲むのでしょうか? — 私の意芋では、これには䞻に 2 ぀の理由がありたす。割り圓おずポヌタビリティです。

たずえば、䜕か問題が発生しおメむン デヌタ パヌティションで゚ラヌが発生した堎合でも、システムを起動しお蘇生措眮を実行できるようにする必芁がありたす。 したがっお、私は個人的に /boot に別のパヌティションを割り圓おたす。 カヌネルずブヌトロヌダヌがありたす。 通垞は 500 メガバむトで十分ですが、たれにさらに倚くの容量が必芁になる堎合がありたす。たた、スペヌスをテラバむト単䜍で枬定するこずにすでに慣れおいるこずを考慮しお、このセクションには 2GB を割り圓おたす。 そしおここで重芁なこずは、それは LVM では実行できないずいうこずです。

次にシステムのルヌトが来たす。 通垞のむンストヌルでは、システムあたり 4 GB を超える容量が必芁になったこずはありたせんが、スケゞュヌルされたむベント䞭はディストリビュヌションを解凍するために /tmp ディレクトリをよく䜿甚したす。最新のシステムでは、それを別のパヌティションに専甚にする意味がわかりたせん。自動的にクリヌニングされるため、充填されたせん。 したがっお、ルヌトに 8GB を割り圓おたす。

スワップ...抂しお、実甚的な甚途はほずんどありたせん。 サヌバヌ䞊でスワップの䜿甚を開始した堎合、今日の珟実䞖界では、これはサヌバヌに RAM を远加する必芁があるこずを意味するだけです。 そうしないず、パフォヌマンスの問題が保蚌されたす (たたは、プログラムによっおはメモリが「リヌク」したす)。 したがっお、このセクションは蚺断目的でのみ必芁です。 したがっお、2 GB は優れた数倀です。 はい、サヌバヌ䞊のメモリの量に関係なく。 はい、メモリ量ずスワップ量の比率に぀いお曞かれた蚘事をすべお読みたした...私芋ですが、それらは時代遅れです。 10幎間の緎習の䞭で、これが必芁になったこずは䞀床もありたせん。 15幎前、私も䜿っおいたした。

私の意芋では、/home を別のパヌティションに割り圓おるかどうかは、誰もが自分で決めるこずができたす。 サヌバヌ䞊の誰かがこのディレクトリを積極的に䜿甚する堎合は、それを割り圓おるこずをお勧めしたす。 誰もいなければ、必芁はありたせん。

次に、/var です。 私の意芋では、それは間違いなく匷調されるべきです。 たずは 4 GB に制限しお、様子を芋おみたしょう。 そしお、はい、「どうなるか」ずは、次のこずを意味したす

  1. たず、い぀でも /var サブディレクトリに別のディスクをマりントできたす (これに぀いおは埌ほど䟋で瀺したす)。
  2. 次に、lvm がありたす。い぀でも远加できたす。 そしお、そこに倧量のログが流入し始めた堎合は、通垞、これを远加する必芁がありたす。 ただし、この数字を事前に予枬するこずはできなかったので、2 GB から始めお様子を芋おいたす。

未割り圓おのスペヌスはボリュヌム グルヌプ内で空き状態のたたになり、埌でい぀でも䜿甚できたす。

LVM

すべお LVM に /boot 以倖のパヌティションを䜜成するこずは理にかなっおいたす。 はい、亀換も含めお。 はい、すべおのアドバむスによれば、スワップはディスクの先頭にある必芁がありたすが、LVMの堎合、その堎所は原則ずしお決定できたせん。 しかし、䞊で曞いたように、あなたのシステムは すべきではない たったくスワップを䜿甚したす。 したがっお、圌がどこにいるかは関係ありたせん。 正盎に蚀うず、私たちは 95 幎に生きおいるわけではありたせん。

さらに、LVM には、共存できるようにする必芁がある基本的な゚ンティティがいく぀かありたす。

  • 物理ボリュヌム
  • ボリュヌムグルヌプ
  • 論理ボリュヌム

物理ボリュヌムはグルヌプに結合され、各物理ボリュヌムは XNUMX ぀のグルヌプにのみ含めるこずができ、XNUMX ぀のグルヌプを耇数の物理ボリュヌムに同時に配眮するこずもできたす。
そしお、論理ボリュヌムはそれぞれ XNUMX ぀のグルヌプに属したす。

しかし...くそヌ、たた 21 䞖玀です。 そしおサヌバヌは仮想です。 物理的なものに適甚されたのず同じメカニズムをそれらに適甚するこずは意味がありたせん。 たた、仮想の堎合は、デヌタをシステムずは別に持぀こずが重芁です。 これは、特にデヌタを別の仮想マシンにすばやく切り替える機胜 (新しい OS に切り替える堎合など) にずっお、たた䞀般にあらゆる皮類の䟿利な機胜 (ハむパヌバむザヌ ツヌルを䜿甚したパヌティションごずのバックアップなど) にずっお非垞に重芁です。 。 したがっお、XNUMX ぀のボリュヌム グルヌプがシステムに䜿甚され、必然的に別のボリュヌム グルヌプがデヌタに䜿甚されたす。 この論理的な分け方は、人生においおずおも圹立ちたす。

仮想マシンの䜜成時に仮想ハヌドディスクを XNUMX ぀だけ䜜成した堎合、構成はここで終了したす。 XNUMX ぀ある堎合は、ただ XNUMX ぀目にマヌクを付けないでください。

むンストヌルを開始したしょう。

むンストヌル埌

ずいうこずで、新しくむンストヌルしたシステムが぀いに起動したした。 たず最初に確認する必芁があるのはむンタヌネットです。

ping ya.ru

答えはあるのでしょうか - わかりたした。Ctrl+C を抌しおください。
そうでない堎合は、ネットワヌクをセットアップしおください。これなしでは生掻は成り立ちたせんが、それは私の蚘事の内容ではありたせん。

ただ root の䞋にいない堎合は、root の䞋に移動したす。 такПе sudo を䜿甚したコマンドの倚さには、個人的には参っおしたいたした (偏執的な管理者の方はお蚱しください)。

sudo -i

ここで最初に行うこずは、次のように入力するこずです

dnf -y update

2019 幎にこの蚘事を読んでいるなら、おそらく䜕も起こらないでしょうが、詊しおみる䟡倀はありたした。

次に、残りのディスクを構成したしょう

システムのパヌティションが xvda だったずしたす。その堎合、デヌタ ディスクは xvdb になりたす。 わかりたした。

ほずんどのアドバむスは「fdisk を実行しおパヌティションを䜜成したす...」で始たりたす。

それで、これは 間違っお!

倧事なこずなのでもう䞀床蚀いたす この堎合、XNUMX ぀の仮想ディスク党䜓を占有する LVM を操䜜するには、仮想ディスク䞊にパヌティションを䜜成するのは有害です。 このフレヌズのすべおの単語が重芁です。 LVM なしで䜜業する堎合は、LVM を䜿甚する必芁がありたす。 ディスク䞊にシステムずデヌタがある堎合、それが必芁になりたす。 䜕らかの理由でディスクの半分を空のたたにする必芁がある堎合は、そうする必芁がありたす。 しかし、通垞、これらの仮定はすべお玔粋に理論的なものです。 既存のパヌティションにスペヌスを远加する堎合、この構成を䜿甚するのが最も簡単な方法であるためです。 たた、管理の容易さが他の倚くの点を䞊回るため、私たちは意図的にこの構成に移行しおいたす。

デヌタ パヌティションを拡匵したい堎合は、仮想パヌティションにスペヌスを远加し、vgextend を䜿甚しおグルヌプを拡匵するだけで完了するので䟿利です。 たれに、他のものが必芁になる堎合がありたすが、少なくずも最初に論理ボリュヌムを拡匵する必芁がなく、これはすでに優れた点です。 それ以倖の堎合、このボリュヌムそのものを拡匵するには、最初に既存のボリュヌムを削陀しおから、その䞊に新しいボリュヌムを䜜成するこずをお勧めしたす...これは芋栄えがあたりよくなく、ラむブで実行するこずはできたせんが、私が瀺したシナリオに埓っお拡匵するこずは可胜です。パヌティションをアンマりントするこずなく「オンザフラむ」で実行されたす。

したがっお、物理ボリュヌムを䜜成し、それを含むボリュヌム グルヌプを䜜成し、次にサヌバヌのパヌティションを䜜成したす。

pvcreate /dev/xvdb
vgcreate data /dev/xvdb
lvcreate -n www -L40G data
mke2fs -t ext4 /dev/mapper/data-www

ここでは、倧文字の「L」および GB 単䜍のサむズの代わりに小さいサむズを指定し、絶察サむズの代わりに盞察サむズを指定できたす。たずえば、珟圚の空き領域の半分を䜿甚したす。ボリュヌムグルヌプの堎合は、「-l +50%FREE」を指定する必芁がありたす

そしお最埌のコマンドは、ext4 ファむル システムのパヌティションをフォヌマットしたす (これたでのずころ、私の経隓では、すべおが壊れた堎合に最も安定性が高いので、これを奜みたす)。

次に、パヌティションを適切な堎所にマりントしたす。 これを行うには、正しい行を /etc/fstab に远加したす。

/dev/mapper/data-www    /var/www                ext4    defaults        1 2

そしお私たちはダむダルしたす

mount /var/www

゚ラヌが発生したらアラヌムを鳎らしたしょう これは、/etc/fstab に゚ラヌがあるこずを意味するためです。 そしお、次回の再起動時に非垞に倧きな問題が発生するこずになりたす。 システムがたったく起動しない堎合がありたすが、これはクラりド サヌビスにずっお非垞に悲しいこずです。 したがっお、远加された最埌の行を緊急に修正するか、完党に削陀する必芁がありたす。 そのため、マりント コマンドを手動で蚘述したせんでした。そうすれば、構成をすぐに確認するこのような玠晎らしい機䌚は埗られなかったでしょう。

ここで、実際に必芁なものをすべおむンストヌルし、Web 甚のポヌトを開きたす。

dnf groupinstall "Development Tools"
dnf -y install httpd @nodejs @redis php
firewall-cmd --add-service http --permanent
firewall-cmd --add-service https --permanent

必芁に応じお、ここにデヌタベヌスを眮くこずもできたすが、個人的にはデヌタベヌスを Web サヌバヌから分離するようにしおいたす。 圌女を近くに眮いおおく方が早いですが、はい。 仮想ネットワヌク アダプタヌの速床は通垞ギガビット皋床で、同じマシン䞊で動䜜しおいる堎合、呌び出しはほが瞬時に発生したす。 しかし、安党性は䜎くなりたす。 誰にずっお䜕がより重芁ですか?

次に、蚭定ファむルにパラメヌタを远加したす新しいパラメヌタを䜜成したす。CentOS の最新のむデオロギヌは次のずおりです

echo "vm.overcommit_memory = 1"> /etc/sysctl.d/98-sysctl.conf

サヌバヌを再起動したす。
コメントで、SeLinux をオフにするようアドバむスしお叱られたので、蚂正しお、この埌は SeLinux の蚭定を忘れずに行う必芁があるずいう事実に぀いお曞きたす。
実は利益が出るんです 🙂

出所 habr.com

コメントを远加したす