GNU/Linux >> Linux の 問題 >  >> AlmaLinux

AlmaLinux8にMemcachedをインストールして構成する方法

Memcached RAMにデータとオブジェクトをキャッシュすることにより、動的なデータベース駆動型Webサイトを高速化するために使用されます。これにより、外部データソースを読み取る必要がある回数が減り、オーバーヘッドが削減され、応答時間が短縮されます。メモリキャッシュソフトウェアは、誰でも使用できる無料のオープンソースプロジェクトです。

チュートリアルの最後に、Almalinux8オペレーティングシステムにMemcachedをインストールして構成する方法がわかります。

前提条件
  • 推奨OS: AlmaLinux8。
  • ユーザーアカウント: sudo特権を持つユーザーアカウント またはrootアクセス(suコマンド)

オペレーティングシステムの更新

AlmaLinuxを更新します 既存のすべてのパッケージが最新であることを確認するためのオペレーティングシステム:

sudo dnf upgrade --refresh -y

チュートリアルでは、sudoコマンドを使用します およびsudoステータスがあると仮定

アカウントのsudoステータスを確認するには:

sudo whoami

sudoステータスを示す出力例:

[joshua@localhost ~]$ sudo whoami
root

既存または新規のsudoアカウントを設定するには、AlmaLinuxでSudoersにユーザーを追加する方法のチュートリアルにアクセスしてください。 。

rootアカウントを使用するには 、rootパスワードを指定して次のコマンドを使用してログインします。

su

Memcachedをインストール

デフォルトでは、AlmaLinuxのアプリストリームにはMemcachedがあります。 Memcachedをインストールするには、次のコマンドを入力します:

sudo dnf install memcached libmemcached

出力例:

Y、と入力します 次に、ENTERキーを押します インストールを続行します。

2番目のインストールオプションである「libmemcached」に注意してください 」パッケージは、Memcachedに追加のインタラクションと実行機能をもたらすための追加のコマンドを提供します。

次に、バージョンとビルドを確認して、Memcachedが正しくインストールされたことを確認します

memcached --version

出力例:

memcached 1.5.22

デフォルトでは、サービスはアクティブになりません。次のコマンドを使用してMemcachedを起動するには:

sudo systemctl enable memcached --now

Memcachedはデフォルトでアクティブ化されている必要があります。これを確認するには、systemctlstatusコマンドを使用します 次のように:

systemctl status memcached

出力例:

Memcachedサービスを管理するためのその他の便利なコマンドは次のとおりです。

システムの起動時にMemcachedサービスを有効にするには:

sudo systemctl enable memcached

Memcachedサービスを停止するには:

sudo systemctl stop memcached

システムの起動時にMemcachedサービスを無効にするには:

sudo systemctl disable memcached

Memcachedサービスを再起動するには:

sudo systemctl restart memcached

次に、Memcachedがデフォルトのポート11211でローカルホストをアクティブにリッスンしていることを確認します 。このタイプを確認するには、次のようにします。

ps -ef | grep memcached

出力例:

memcach+   27220       1  0 22:24 ?        00:00:00 /usr/bin/memcached -p 11211 -u memcached -m 2000 -c 2000 -l 127.0.0.1 -U 0
joshua     29536   25923  0 22:52 pts/0    00:00:00 grep --color=auto memcached

Memcachedを構成する

Memcachedは127.0.0.1をリッスンしている必要があります 。 「/etc / sysconfig / memcached」にある構成ファイルでデフォルト設定を開きます 「。

sudo nano /etc/sysconfig/memcached

最初のオプションは、Memcachedの従来のポート番号を変更することです。

11211

このポート番号があり、既存のファイアウォールルールがある場合は、それらを更新する必要があります。理想的には、これをデフォルトのままにしておくことができます。

2番目のオプションは、システムで処理できる場合は、最大接続数を少し高い値に変更することです。

MAXCONN="2000"

最大接続数をゆっくりと増やしてテストする必要があります。高く設定しすぎないでください。

次に、デフォルトの64MBのキャッシュサイズを、キャッシュにある程度の余裕があると思われるサイズに変更します。

2GBへ​​の変更例:

CACHESIZE="2000"

サーバーに十分なリソースがある場合は、いくつでもかまいませんが、予算のホストを使用している場合は、注意して制限内に設定してください。

次に、下にスクロールして次の行を見つけ、「-l」を確認します。 存在するパラメータ。

ここから、ローカルホストを離れるか、内部または外部IPアドレスを指定できます。また、以下で説明するオプションを追加することもできます。

-l 127.0.0.1

最初の追加フラグは、必要がない場合はUDPを無効にすることです。

-U 0

セットアップが終了するとどのように見えるかについてのチュートリアルの概要。

例のみ:

次に、ファイルを保存します CTRL + O 「Y」を押します 次にCTRL+ X Memcachedインスタンスを終了して再起動します。

sudo systemctl restart memcached

Memcached用にFirewalldを構成する

デフォルトでは、Memcachedのルールは設定されていません。これは、攻撃を阻止するために不可欠な許可ルールを作成する必要があることを意味します。 Memcachedの保護に失敗すると、問題が発生する可能性があるため、インストールを保護する他の手段がない限り、これをスキップしないでください。

まず、Memcachedfirewalldポリシーの新しい専用ゾーンを追加します。

sudo firewall-cmd --permanent --new-zone=memcached

次に、Memcachedへのアクセスを許可する許可されたIPアドレスを指定します。

sudo firewall-cmd --permanent --zone=memcached --add-source=1.2.3.4

1.2.3.4をIPに置き換えます 許可リストに追加されるアドレス。

IPアドレスの追加が完了したら、Memcachedのポートを開きます。

デフォルトでは、これはTCPポート11211です。 。

sudo firewall-cmd --permanent --zone=memcached --add-port=11211/tcp

上記のファイアウォールポートオープンルールを新しい値に変更すると、構成ファイルのデフォルトポートを変更できることに注意してください。

これらのコマンドを実行した後、ファイアウォールをリロードして新しいルールを実装します。

sudo firewall-cmd --reload

成功した場合の出力例:

success

MemcachedPHPライブラリのインストール

Memcachedにはプログラミング言語用のさまざまな拡張機能が付属していますが、主にPHPで使用されます。ただし、Almalinuxは、デフォルトのアプリストリームで機能しないため、これらのパッケージをプルするためにいくつかの追加のリポジトリをインストールする必要があります。

まず、EPELとRemiPHPリポジトリをインストールします。

sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

次に、現在使用しているPHPモジュールを有効にします。以下にいくつかの例を示します。

PHP 8.0:

sudo dnf module enable php:remi-8.0 -y

PHP 7.4:

sudo dnf module enable php:remi-7.4 -y

次に、次のコマンドを使用してMemcachedPHPサポートをインストールします。

sudo dnf install php-pecl-memcache php-pecl-memcached

出力例:

Y、と入力します 次に、ENTERキーを押します インストールを続行します。

さらに、PythonでのMemcachedサポートの場合、PIPライブラリを使用して次のパッケージをインストールできます。

pip3 install pymemcache --user
pip3 install python-memcached --user

コマンドラインからMemcachedにアクセスする

Memcachedの統計情報は、連携して動作する多くの追加ソフトウェアとWEBUIによって収集できます。ただし、確認するためのより良い方法は、コマンドラインを使用してMemcachedと直接対話することです。

まず、 TELNET あなたのサービスに:

telnet localhost 11211

出力例:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Telnetがインストールされていない場合は、次のコマンドを実行してインストールしてください。

sudo dnf install telnet -y

注:TELNETは、パブリックネットワークとの通信を許可したり、プライベートネットワーク環境で制限したりしないでください。

次に、次のコマンドを使用して、Memcachedサービスの概要を取得できます。

stats

出力例:

STAT pid 5934
STAT uptime 1275
STAT time 1631930242
STAT version 1.6.9
STAT libevent 2.1.12-stable
STAT pointer_size 64
STAT rusage_user 0.113635
STAT rusage_system 0.000000
STAT max_connections 1024
STAT curr_connections 1
STAT total_connections 2
STAT rejected_connections 0
STAT connection_structures 2
STAT response_obj_oom 0
STAT response_obj_count 1
STAT response_obj_bytes 16384
STAT read_buf_count 2
STAT read_buf_bytes 32768
STAT read_buf_bytes_free 0
STAT read_buf_oom 0
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT cmd_meta 0
STAT get_hits 0
STAT get_misses 0
STAT get_expired 0
STAT get_flushed 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 7
STAT bytes_written 0
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT slab_reassign_rescues 0
STAT slab_reassign_chunk_rescues 0
STAT slab_reassign_evictions_nomem 0
STAT slab_reassign_inline_reclaim 0
STAT slab_reassign_busy_items 0
STAT slab_reassign_busy_deletes 0
STAT slab_reassign_running 0
STAT slabs_moved 0
STAT lru_crawler_running 0
STAT lru_crawler_starts 6
STAT lru_maintainer_juggles 1325
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT unexpected_napi_ids 0
STAT round_robin_fallback 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT slab_global_page_pool 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evicted_active 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
STAT moves_to_cold 0
STAT moves_to_warm 0
STAT moves_within_lru 0
STAT direct_reclaims 0
STAT lru_bumps_dropped 0
END

上記のように、これは、稼働時間、キャッシュ内のアイテムの数、インスタンスへのクライアント接続の数など、確認したい重要な事項を示しています。

メモリのさまざまなMemcachedスラブ(パーティション)を調べて結果を返すことで、検索を絞り込むことができます。

以下の例:

接続されているインスタンスのスラブを一覧表示します:

stats slabs

各スラブ内に保存されているアイテムの数を含むスラブのリスト

stats items

次に、cachedumpコマンドを使用してデータにアクセスして削除できます キーを一覧表示します。

まず、cachedumpコマンドを実行します :

stats cachedump [slab ID] [number of items, 0 for all items]

実際の例:

stats cachedump 1 0

出力例:

ITEM testkey [9 b; 1296857316 s]
END

上記のように、SLAB1にはキー「testkey」を持つアイテムが1つあります。 実際の値を取得するには、「キーを取得」を使用できます。 次のようにコマンドを実行します:

get testkey

出力例:

VALUE testkey 0 9
test data
END

最後に、キャッシュされたアイテム(この場合は「テストキー」)を削除します 次のコマンドを使用します:

delete testkey

出力例:

DELETED

Memcachedを削除(アンインストール)する方法

Memcachedを削除するには、端末で次のコマンドを使用します。

sudo dnf autoremove memcached libmemcached

これにより、Memcachedがシステムからすぐに削除されます。


AlmaLinux
  1. Ubuntu18.04にMemcachedをインストールする方法

  2. CentOS8にMemcachedをインストールする方法

  3. CentOS7にMemcachedをインストールする方法

  1. AlmaLinux8にMongoDBをインストールする方法

  2. AlmaLinux8にlighttpdをインストールする方法

  3. Almalinux8にPrestaShopをインストールする方法

  1. AlmaLinux8にNginxをインストールする方法

  2. AlmaLinux8にPython3.10をインストールする方法

  3. AlmaLinux8にMariaDB10.6をインストールする方法