Ubuntu+PerlでWebシステム開発 環境構築

  • Ubuntu20
  • Ubuntu18
  • Ubuntu16

Redisサーバーの起動・停止・再起動・状態確認

Redisサーバーの起動・停止・再起動・状態確認について解説します。

Redisの状態確認

Redisの状態確認は、systemctlコマンドの「status」を使って行います。

sudo systemctl status redis-server
起動している場合

起動している場合は、以下のように表示されます。

● redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-06-16 10:12:56 JST; 3h 57min ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
 Main PID: 108380 (r.edis-server)
    Tasks: 4 (limit: 9479)
   CGroup: /system.slice/redis-server.service
           mq108380 /usr/bin/redis-server 127.0.0.1:6379
停止している場合

停止している場合は、以下のように表示されます。

● redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2020-06-16 14:11:18 JST; 2s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 27892 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
 Main PID: 108380 (code=exited, status=0/SUCCESS)

Redisの起動

Redisの起動は、systemctlコマンドの「start」を使って行います。sudoコマンドを使って、root権限で実行します。

sudo systemctl start redis-server

起動が成功しても、成功したというメッセージは返ってきません。状態確認を行ってください。

Redisの停止

Redisの停止は、systemctlコマンドの「stop」を使って行います。sudoコマンドを使って、root権限で実行します。

sudo systemctl stop redis-server

停止が成功しても、成功したというメッセージは何も返ってきません。状態確認を行ってください。

Redisの再起動

Redisの再起動は、systemctlコマンドの「restart」を使って行います。sudoコマンドを使って、root権限で実行します。

sudo systemctl restart redis-server

restartは単に、stopコマンドを実行して、startコマンドを実行します。

Redisの起動・停止のログを見るには

Redisなどのサーバーは、systemdというプログラムによって集中的に管理されています。

systemdのログにRedisの起動・停止ログが出力されています。

systemdのログを見るにはjournalctlコマンドを使います。「-u」オプションでユニット「redis-server」を指定します。sudoで実行しないとRedisサーバーのログが見れないので注意してください。ログの最後の部分だけ見たい場合は「-r」オプションを組み合わせます。

sudo journalctl -r -u redis-server

ログのサンプルです。

Jul 22 13:24:34 shinshina-development-app-00000001 systemd[1]: Started Advanced key-value store.
Jul 22 13:24:34 shinshina-development-app-00000001 systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory
Jul 22 13:24:33 shinshina-development-app-00000001 systemd[1]: Starting Advanced key-value store...
-- Reboot --
Jul 22 13:13:48 shinshina-development-app-00000001 systemd[1]: Stopped Advanced key-value store.
Jul 22 13:13:47 shinshina-development-app-00000001 systemd[1]: Stopping Advanced key-value store...

Redisのsystemdの設定ファイルを見るには

Redisのsystemdの設定ファイルは「systemctl status redis-server」で見れます。

設定ファイルをcatコマンドで見てみましょう。

cat /lib/systemd/system/redis-server.service

Redisトラブルシューティング

以下のようなエラーでRedisサーバーが起動できない場合があります。

redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory

これは、サーバーのネットワーク設定でIPv6が有効になっておらず、Redisサーバーの設定ファイルで、IPv6が有効になっている場合に出るエラーです。

Redis設定ファイルを編集して修正しましょう。間違った場合のためにバックアップもとっておきます。

sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak
sudo vi /etc/redis/redis.conf

以下を

bind 127.0.0.1 ::1

以下に変更

bind 127.0.0.1

Redisの起動と確認

Redisの起動と確認を行います。

sudo systemctl start redis-server
sudo systemctl status redis-server