Linux php-fpm 最適化体験 - php-fpm プロセスは大量のメモリを消費し、メモリの問題を解決しない

最近、バックエンドにログインした後、時々ブログのメモリが「食われ」ていることがわかり、最初は Swap 不足が原因であると疑ったので、追加しました。数ギガバイトのスワップを VPS ホストに送信し、しばらくして観察すると、スワップがどんなに大きくても、ゆっくりと「食べられて」いることがわかりました。

一部の PHP サービスが VPS のメモリを占有していて解放していないため、物理メモリが使い果たされた後に Swap が呼び出されていることは明らかです。明らかに、Swap は物理メモリほど効率的に実行されないため、プロセスは次のようになります。立ち往生。現在、WordPress Web サイトで使用しているテーマとプラグインが多すぎることを考慮すると、この状況が発生するのは正常です。

公式声明によると、LNMP アーキテクチャでは、PHP は FastCGI モードで実行されます。php-cgi は、各リクエストの終了時にスクリプトによって使用されたすべてのメモリをリサイクルしますが、オペレーティング システムには解放されませんが、続行されます。次の PHP リクエストに応答します。 php-fpm は FastCGI プロセス マネージャーであり、php のメモリとプロセスを制御するために使用されます。

ウェブサイト最適化の高速化 - TLSV1.3 と Brotli 圧縮をオンにする - Oneinstack、LNMP、Pagoda パネル

ウェブサイトが海外にあるため、ウェブページを開く速度を最大限に高めるにはどうすればよいかを考えています。以前にAlibaba Cloud香港のVPSホストを使用していましたが、速度はかなり速かったのですが、学生から「開けない」「アクセスできない」という報告が相次いでいました。調査の結果、問題は SSL ハンドシェイク段階にあると判明したため、CN2 GIA VPS に切り替えました。

CN2 GIA VPSを使用していますが、速度はかなり速いように感じますが、やはり距離が遠いので回線的には応答速度が若干遅いです、特にWordPressに関しては実行するとやはりホストリソースを消費します。そこで、キャッシュから始めて、Nginx キャッシュを有効にしました: Nginx fastcgi_cache キャッシュ アクセラレーション方法 - Nginx の設定例。

Linux マウント ハード ドライブの拡張方法 - Alibaba Cloud、Tencent Cloud および Linode VPS マウント ハード ドライブの拡張

Classic VPS などの WHMCS+VPS 管理プラットフォーム アーキテクチャを使用するホスティング プロバイダーを利用している場合は、VPS ホスティング パッケージ全体を自分でアップグレードしてハード ドライブを拡張する必要があります。ただし、Linode、Alibaba Cloud、Tencent Cloud などのクラウド ホスト プロバイダーから VPS ホストを購入した場合、ハード ドライブがいっぱいになった場合、ハード ドライブの独立した拡張がサポートされます。

ハード ドライブのマウントのもう 1 つの利点は、VPS ホストを変更するときに、最初に元の VPS ホストからハード ドライブをアンインストールしてから、新しい VPS ホストに再マウントできることです。元のストレージ ハードディスク内のデータは新しい VPS ホストに引き続き保持されるため、大規模なストレージ Web サイトの移行に特に役立ちます。

VPS ホスト、複数の IP をバインドする独立したサーバー、および複数の IP アドレスと IP セグメントを追加するための SolusVM メソッド

専用サーバーは複数の IP にバインドでき、販売者は通常、専用サーバーを購入するときに 2 ~ 5 個の IP アドレスを提供します。複数のサイトの場合、独立した IP アドレスは SEO にとって非常に有益です。もちろん専用サーバーを使ってWebサイトを構築するのはもったいないので、専用サーバーを仮想化してVPSホストとして利用することも可能です。

複数の IP をスタンドアロン サーバーにバインドすることと、複数の IP アドレスを SolusVM に追加することは、厳密に言えば、2 つの異なるものです。 SolusVM によって作成された VPS ホストに割り当てられた IP アドレスがネットワークに接続されていないことがわかった場合は、他の IP アドレスがサーバーのネットワーク カードにバインドされているかどうかを確認してください。1 つの IP は 1 つのサーバーでのみ使用できます。そうでない場合は、バインドされている可能性があります。衝突すること。

WordPress で Nginx fastcgi_cache キャッシュ アクセラレーション メソッドを有効にする - Nginx 構成例

WordPress を使用して Web サイトを構築するプロセスでは、WordPress のパフォーマンスを最適化し、Web サイトへのアクセスを高速化するために、多くの「回り道」が行われてきました。ウェブサイトへのアクセスが遅く、CPU メモリが枯渇している場合、私が最初に考えるのはサーバー構成のアップグレードです。その後、一部の悪徳 VPS 業者が裏でリソースを厳しく制限していることに気づきました。アップグレードします。

最大の経験は、同じ構成で異なる VPS 販売者の同じ Web サイトを同じトラフィック状況で実行したときに、一方はスムーズで、もう一方は停止するということです。VPS を購入する前に必ず読んでおく必要があると感じました。他の人のレビュー、特に VPS ホストのパフォーマンスのレビューを慎重に比較する必要があります。そうしないと、簡単に多額の費用を費やすことになります。

その後、WordPress を最適化するときに、以前に使用したキャッシュ プラグインには、WordPress Super Cache、WP Fastest Cache、W3 Total Cache、cos-html-cache、Cachify などがあります。 , プラグインをキャッシュすることは高速化には依然として効果的ですが、多くの問題ももたらします。

特定の地域および国に対する Web サイトのブロックおよび IP アクセスのブロック設定 - PHP コード/Nginx/WordPress 設定

外国貿易ウェブサイトを構築している多くの友人は、自分のウェブサイトが国内 IP からアクセスされることを制限したいと考えています。また、さまざまな理由で特定の IP からブロックする必要があるリソースをウェブサイトに保存している友人もいます。ソース IP のほとんどは海外からのものであるため、外国の IP が Web サイトにアクセスできないようにしたいと考えています。

理由が何であれ、特定の地域や国からのIPアクセスをブロックしたりブロックしたりすることは、日常のWebサイト構築でよく使用されます。 PHP を使用している場合、比較的簡単な方法は、PHP ファイルに IP を決定するコードを追加し、IP ライブラリを使用して比較することです。IP がアクセス制限範囲内にある場合は、アクセスの継続を禁止します。

Web サイトが Nginx の場合、Nginx-ngx_http_geoip_module モジュールを直接使用できます。このモジュールは国、地方、都市などの IP を正確に把握でき、アクセスの識別とブロックはすべて Nginx によって実行されます。 PHP に比べてリソースが節約されますが、Nginx はコンパイルが面倒です。

Linux システムのディスク容量がいっぱいです - デバイスに空き容量がありませんエラーの解決策

Linux ディスクがいっぱいになる問題については、パネルのバックグラウンドで Web サイトのログが有効になっていたため、WDCP パネルを使用しているときに以前にこの問題に遭遇しましたが、長期的にはログが定期的に削除されず、ディスク容量が不足していました。 VPS ホストがログでいっぱいになりました。ディスク容量が 100% に達すると、バックグラウンドでログインできない、コメントできない、ページが空白になるなど、Web サイトで不可解なエラーが発生します。

しかし、最近、ネットワーク監視プラットフォーム ping.wzfou.com をメンテナンスしていたときに、ディスク領域がまだたくさんあるにもかかわらず、「デバイスに空き領域がありません」エラーがログに報告されていることがわかりました。調査の結果、Linux ディスクの i ノードが使い果たされ、Web サイトが新しいデータの書き込みを続行できなくなり、最終的にバックグラウンドでの Smokeping が正常に実行されず、レポートが表示されなくなったことが判明しました。

VPS ホストとサーバーのセキュリティ保護: SSH ポートの変更、ホワイトリストの追加、キーログインのみ

最近、友人が Yunfu ホストを使用していたときに、SSH が他人によって激しくスキャンされていることを発見しました。SSH アカウントとパスワードが推測されたことはありませんが、誰かが彼を見つめ続ければ、遅かれ早かれ何かが起こるでしょう。私は彼が S-S-H ログイン ホワイトリストを設定するのを手伝いました。これは、彼自身の IP からのログイン アクセスのみを許可し、他のすべての IP を拒否します。

実際、S-S-H がクラックされていないことを確認する最も簡単な方法は、デフォルトのポート 22 を変更することです。たとえば、私たちが使用しているクラシック VPS では、VPS の作成時にデフォルトでポート 22 が変更されています。最も徹底した方法は、アカウントとパスワードによるログインを禁止し、キーを使用してログインすることです。キーが安全に保管されている限り、誰もサーバーに入ることができません。

HTTPS と SSL を最適化するための 8 つのヒント - 待ち時間を短縮し、HTTPS パフォーマンスの損失を軽減する

オンライン セキュリティに対する人々の意識が高まり、大手インターネット企業が HTTPS の普及を推進するにつれ、現在では HTTPS SSL が Web サイト構築の基本的な標準となっています。 Let’s Encrypt、Digicert、TrustAsia、Symantec などが提供する無料の SSL 証明書のおかげで、個人 Web サイトであっても企業 Web サイトであっても、HTTPS の使用コストは無視できるほどになりました。

セキュリティのために HTTPS を使用する必要がありますが、SSL を有効にすると、メモリ、CPU、ネットワーク帯域幅のオーバーヘッドが増加します。 TCP スリーウェイ ハンドシェイクを使用して接続を確立する http と比較すると、クライアントとサーバーは TCP の 3 パケットに加えて、SSL ハンドシェイクに必要な 9 パケットの合計 12 パケットを交換する必要があります。パケット。したがって、HTTPS が大幅に最適化されると、パフォーマンスが低下する傾向があります。

MySQL オープン ファイル記述子の制限データベースを破る オープン ファイルが多すぎる問題

CN2 スペース ユーザーの増加により、最近、Mysql プロセスが夜中に必ずクラッシュするようになりました。Mysql エラー ログを確認すると、プロンプトは次のとおりでした。[エラー] 受け入れ中のファイルが多すぎます。開いているファイルが不足すると、特に DirectAdmin システムが夜間にバックアップされる場合にデータベースがハングアップする可能性があります。

Linux システムのデフォルトのオープン ファイルは 1024 です。これを表示するには ulimit -a を使用できます。また、mysql のデフォルトのオープン ファイルも 1024 です。多くの場合、この値は設定を満たすことができません。 Web サイト構築のニーズ、特に大規模なものでは、Web サイトや巨大なデータベース センターでは、開いているファイルが多すぎるという問題が簡単に発生します。

サーバーの最適化 を購読