Memcachedは、メインメモリからのデータの保存と取得を容易にする高性能のオープンソースキャッシュサーバーです。 Memcachedは、オブジェクトキャッシュを証明することでパフォーマンスを向上させるために、Webアプリケーションに関連してよく使用されます。標準構成では、Memcachedはポート11211 / TCPでリッスンし、さらに(バージョン1.5.5まで)ポート11211/UDPでリッスンします。
ここでは、CentOS8にMemcachedサーバーをインストールして構成する手順を学習します。
CentOS8LinuxへのMemCachedのインストール
CentOSを使用してCpanelでWordPressまたはその他のWebサイトを実行している場合は、サーバーにMemcacheをインストールすると、サイトの全体的なパフォーマンスが向上します。
要件 :
- rootユーザーアクセス。
- CentOS6/7/8サーバー
- インターネット接続が機能しています。
1。 Memcachedサーバーをインストールする
CentOS8または以前のバージョンのCentOS7および6では、サードパーティのリポジトリをインストールする必要はありません。公式のもので入手可能です。したがって、サーバーターミナルにアクセスして、次のコマンドを実行するだけです。
yum install memcached libmemcached
上記のコマンドでは、2つのパッケージをインストールしています。1つはキャッシュシステムで、もう1つは、インストールされたMemcachedサーバーを管理するための一連のツールを備えたライブラリです。
2。構成ファイルを編集する
インストールが正常に完了したら、構成を編集してキャッシュの累積サイズを増減しましょう。デフォルトでは64MBになり、256 MB、512 MB、1GBなどの要件によって異なります。
vi /etc/sysconfig/memcached
次の行を見つけるか、追加します。
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS="-l 127.0.0.1,::1"
ファイルを編集するには、「挿入」を押します キーボードの」キー。
port=Memcacheが使用するデフォルトのポート番号です。
maxconn=このキャッシュシステムの最大接続数
cacheSize=しきい値に達する前に生成されたキャッシュの量
オプション=キャッシュの追加パラメータを宣言します。これは次のステップで使用します。
3。 Memcacheを特定のIPアドレスにバインドする(オプション)
Memcacheが適切に保護されていない場合、DDOS攻撃を開始するホストになる可能性があります。これが、DigitalOceanがサーバーのポート番号112211を永続的にブロックしている理由です。
したがって、Webサーバーなどの他のアプリケーションと同じサーバーまたはネットワーク内のサーバーでMemcacheを実行していると想定しています。
注 :これで、サーバーはデフォルトでローカルホストにバインドします。手動でバインドしない場合に備えて。
例 、 Cpanel または、単一のサーバーがMemcacheとApacheサーバーの両方をホストするために使用されるVPSホスティングの場合、次の行を追加するだけで、サーバーをバインドして、OPTIONS値としてのみローカルホストをリッスンします。
-l 127.0.0.1
したがって、次のようになります。
OPTIONS="-l 127.0.0.1"
(オプション )同じプライベートネットワーク内のキャッシュシステムにアクセスする場合は、ローカルIPアドレスの範囲にバインドします。たとえば、キャッシュサーバーのアドレスが10.0.0.14
であるとします。 次に、10.0.0.x.
のクライアント それに接続することしかできません。
さらに、ローカルループバックインターフェイスのみにバインドし、他のすべてのリモート接続を拒否するには、次も追加します。
-U 0
したがって、完全な構文は次のようになります。
OPTIONS="-l 127.0.0.1 -U 0"
構成ファイルを保存するには、ESC
を押します。 キーとタイプ:wq
エンターボタンを押します。
4。サービスを有効にして開始する
設定が完了しました。次に、起動時にMemcacheサーバーを有効にして起動します。だから、それは物事をキャッシュし始めることができるように。
systemctl enable memcached
systemctl start memcached
CentOS 6/5などの以前のバージョンでは、サービスコマンドを使用します:
service memcached enable
service memcached start
停止したい場合:
service memcached stop
再起動/開始/停止するには、次を使用することもできます:
etc/init.d/memcached restart
5。 memcachedの実行ステータスを確認する
サービスがエラーなしで実行されていることを確認するには、このキャッシュシステムのステータスを確認してください。
sudo systemctl status memcached
または
service memcached status
6。キャッシュがローカルポートをリッスンしていることを確認します
ここでは、ツールを使用してローカルホストが11211に正しくリストされていることを確認しています。これにより、すべての構成値が生成されます。
memcached-tool 127.0.0.1:11211 stats
7。ファイアウォールを介したキャッシュサービスを許可する
デフォルトでは、サービスポートはファイアウォールでホワイトリストに登録されていないため、外部のクライアントリクエストに接続できるため、許可する必要があります。
CentOS 8では、FirewallDがデフォルトのファイアウォールサービスです:
sudo Firewall-cmd –zone =memcached –add-port =11121 / tcp –permanent
IPテーブルのみを使用する古いオペレーティングシステムの場合は、次のオペレーティングシステムを使用してください:
iptables -A INPUT -i eth0 -p tcp --dport 11211-j ACCEPT
8。 PHP拡張機能Memcacheをインストールする
つまり、キャッシュサーバーは稼働していますが、PHPで使用して、WordPressやJoomlaなどのPHPアプリケーションのデータベースをキャッシュできるようにします。拡張機能を有効にする必要があります。
dnf install php php-pecl-memcache
上記のコマンドはモジュールをインストールしますが、エラーが発生した場合:
No match for argument: php-pecl-memcache Error: Unable to find a match
つまり、パッケージは公式リポジトリで利用できないため、別のリポジトリを追加してツールを使用する代わりに、PECLを使用してパッケージをビルドできます。
dnf install zlib zlib-devel make
dnf install php php-devel php-pear
最後に、実行します:
pecl install memcache
9。 extension =memcache.so
を有効にしますキャッシュシステム用のPHPモジュールがサーバー上にあり、php.iniファイルに追加します。開いて編集する代わりに、ここにショートカットがあります。この単一のコマンドを使用して、拡張子をphp.d拡張子ディレクトリに追加の.iniファイルとして追加します。
echo "extension=memcache.so" >> /etc/php.d/memcache.ini
Apacheを再起動
#CentOS 8 o 7
systemctl restart httpd
#CentOS6/5を使用している場合
service httpd restart
10。サポートが有効になっているかどうかを確認してください
PHPの拡張機能のサポートを確認するには、次のコマンドを実行します。
php -i | grep memcach
OutPut: