CentOS 7にMemcached(Caching Server)をインストールする方法


Memcached は、データとオブジェクトをメモリにキャッシュすることで動的なWebアプリケーションのパフォーマンスを向上させ、高速化することを可能にするオープンソースの分散メモリオブジェクトキャッシュプログラムです。

Memcached は、データベースのパフォーマンスを向上させるためにデータベーステーブル全体とクエリ全体をキャッシュするためにも使用されます。これは無料で利用できる唯一のキャッシングシステムで、 YouTube Facebook Twitter Reddit などの多くの大規模サイトで使用されています。 、 Drupal Zynga など

Memcached が正しく設定されていないと、サービス拒否攻撃を行う可能性があります。この記事では、 CentOS 7 Linuxディストリビューションに Memcached サーバーをインストールして保護する方法について説明します。これらの指示は RHEL Fedora Linuxでも機能します。

CentOS 7にMemcachedをインストールする

まずローカルソフトウェアパッケージのインデックスを更新してから、以下のyumコマンドを使用して、 CentOS の公式リポジトリから Memcached をインストールします。

# yum update
# yum install memcached

次に、 Memcached サーバーを管理するためのツールをいくつか提供するクライアントライブラリである libmemcached をインストールします。

# yum install libmemcached

Memcached がサービスとしてCentOSシステムにインストールされ、その接続性のテストに必要なツールも追加されました。これで、さらに構成設定を保護するために進むことができます。

Memcached構成設定のセキュリティ

インストールされている Memcached サービスが 127.0.0.1 ローカルインターフェースをリッスンしていることを確認するために、 /の OPTIONS 変数を変更します。 etc/sysconfig/memcached 設定ファイル。

# vi /etc/sysconfig/memcached

OPTIONS 変数を検索し、 -l 127.0.0.1 -U 0 OPTIONS 変数に追加します。これらの設定は私達のサーバーをDoS攻撃から守ります。

/etc/sysconfig/memcached

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1 -U 0" 

上記の各パラメータについて詳しく説明しましょう。

  1. PORT : The port used by Memcached to run.
  2. USER : The start-up daemon for Memcached service.
  3. MAXCONN : The value used to set max simultaneous connections to 1024. For busy web servers you can increase to any number based on your requirements.
  4. CACHESIZE : Set cache size memory to 2048. For busy servers you can increase up to 4GB.
  5. OPTIONS : Set IP address of server, so that Apache or Nginx web servers can connect to it.

設定の変更を適用するには、 Memcached サービスを再起動して有効にします。

# systemctl restart memcached
# systemctl enable memcached

起動したら、次のnetstatコマンドを使用して、 Memcached サービスがローカルインターフェースにバインドされ、TCP接続のみで待機していることを確認できます。

# netstat -plunt

図のように memcached-tool を使用してサーバーの統計を確認することもできます。

# memcached-tool 127.0.0.1 stats

次に示すように、ファイアウォールのポート 11211 を開いて、 Memcached サーバーへのアクセスを許可してください。

# firewall-cmd --permanent --zone=public --add-port=11211/tcp

Memcached PHP拡張機能をインストールする

さて、ある[ Memcached のデーモンで動作するようにPHPの拡張機能をインストールします。

# yum install php-pecl-memcache

Memcached Perlライブラリをインストールする

Memcached 用のPerlライブラリをインストールします。

# yum install perl-Cache-Memcached

Memcached Pythonライブラリをインストールする

ある[ Memcached のためのPythonライブラリをインストールします。

# yum install python-memcached

Webサーバーを再起動します

変更を反映するには、 Apache または Nginx サービスを再起動します。

# systemctl restart httpd
# systemctl restart nginx

MemcachedでMySQLクエリをキャッシュする

すべての人にとって簡単な作業ではありません。 MySQL キャッシュを有効にするには、 PHP コードを変更するために API を使用する必要があります。 Memcache with MySQLとPHPでサンプルコードを見つけることができます。

それでおしまい!この記事では、 Memcached サーバーをローカルネットワークインターフェースにインストールして保護する方法を説明しました。インストール中に問題が発生した場合は、以下のコメント欄で質問してください。