CentOS 7.4 に yum で Memcached をインストール、ログの設定まで実施してみました。
以下、実施したことを記載します。
前提
以下の環境で実行しています。
- OS
cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
また、Memcached は、同一筐体上で稼働する HTTP サーバからアクセスする予定なので、127.0.0.1
からのアクセスのみを許可する想定です。
参考記事
Cent OS 6.9
へ Memcached をインストールした際の実施内容を参考にしました。
* Cent OS 6.9 に Memcached をインストール、ログの設定まで実施する | Monotalk
Memcached の インストール、自動起動設定
インストール
yum install memcached
------------------------------------------
インストール:
memcached.x86_64 0:1.4.15-10.el7_3.1
-------------------------------------------
コマンドとして、何が実行できるのか確認
CentOS 7 からは、起動、停止コマンドは、service から、systemctl 置き換わっています。
CentOS 6 との対応関係配下の通りです。
各コマンドの意味は、以下の記事が参考になりました。
* はじめてのsystemdサービス管理ガイド | Developers.IO
CentOS 6 | CentOS 7 | 説明 |
---|---|---|
service memcached start | systemctl start memcached.service | 起動 |
service memcached stop | systemctl stop memcached.service | 停止 |
service memcached restart | systemctl restart memcached.service | 再起動 |
service memcached try-restart | systemctl try-restart memcached.service | 起動していれば、再起動を実行する |
service memcached reload | systemctl reload memcached.service | 設定ファイル再読み込み |
service memcached force-reload | systemctl force-reload memcached.service | 設定ファイル強制再読み込み |
service memcached status | systemctl status memcached.service | ステータスチェック |
service memcached condrestart | - | 起動していれば、再起動を実行する1 |
Memcached 自体の設定
sasl が使用できるか確認
memcached -S
/etc/sysconfig/memcached の編集
Memcached の 設定ファイル /etc/sysconfig/memcached
を編集します。
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-U 0 -vv -l 127.0.0.1 -B ascii 1>> /var/log/memcached/memcached.log 2>>/var/log/memcached/memcached.log"
設定値の意味については、Cent OS 6.9 に Memcached をインストール、ログの設定まで実施する | Monotalk に記載していますので、そちらをご確認ください。
ログディレクトリの作成
OPTIONS
で書き出しを指定したログディレクトリがないので作成します。
mkdir /var/log/memcached/
ログローテーション
以下のようにログローテーションの設定を行いました。
* /etc/logrotate.d/memcached
/var/log/memcached/*.log {
notifempty
daily
rotate 10
missingok
dateext
dateformat -%Y%m%d
copytruncate
sharedscripts
}
ログローテーションするためのlogrotate設定とちょっとしたtips - Qiita
memcached の再起動スクリプト
日次で再起動を実施したいので、以下の処理を行う再起動スクリプトを作成しました。
nc
コマンドは、CentOS 7.4 のデフォルトだと使用できないため、yum install nc
でインストールしました。
-
restart_memcached.sh
#!/bin/sh # Dump memcached /usr/bin/memcached-tool localhost:11211 dump > /tmp/memcached.dump # restart memcached /sbin/service memcached restart # Import dump file /bin/cat /tmp/memcached.dump | /usr/bin/nc localhost 11211
-
補足
cron に設定する場合は、dump コマンドの出力が、標準エラーに出力されるため、以下のように記載します。
30 03 * * * /bin/sh $SCRIPT_HOME/restart_memcached.sh &>> $LOG_DIR/restart_memcached.log
以上です。
-
try-restart
との違いがちょっとわかりませんでした。CentOS 7 だと対応するコマンドがなくなっているようです。 ↩
コメント