redis構成の問題sudo:redis-server:command not found/redis-cli shutdown redisを閉じることができません
948 ワード
ネット上で多くの解決方法を調べたが、gccコンパイルがインストールされていないという人もいれば、redis-serverがグローバルコマンドではないという人もいる.この2つは確かに間違いの原因かもしれませんが、私の原因ではありません.
私が直面した問題は、
Failed opening the RDB file dump.rdb (in server root dir/usr/local/redis-stable) for saving: Permission denied Error trying to save the DB, can’t exit.
ファイルへの書き込み権限がないからです.(ここではshutdownの前にsaveしておくと推測し、正常にsaveできないため正常にshutdownできない)
sudoでredis-serverを起動すれば、すべてが解決します.In my case,redis-server/redis-cliなどのファイルが/usr/local/binにインストールされています.
実行
これにより、usr/local/binは存在しません.この文の最後に
保存、問題解決.
私が直面した問題は、
sudo redis-server
プロンプトが命令を見つけられず、sudoを付けずに正常に動作することです.これは、sudoに対応するコマンド起動パスがないことです.redis-cli shutdownがredisを閉じられないのもそのためです.shutdownのエラーメッセージが表示されます.Failed opening the RDB file dump.rdb (in server root dir/usr/local/redis-stable) for saving: Permission denied Error trying to save the DB, can’t exit.
ファイルへの書き込み権限がないからです.(ここではshutdownの前にsaveしておくと推測し、正常にsaveできないため正常にshutdownできない)
sudoでredis-serverを起動すれば、すべてが解決します.In my case,redis-server/redis-cliなどのファイルが/usr/local/binにインストールされています.
実行
sudo visudo
ファイルに見つかりました.Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
これにより、usr/local/binは存在しません.この文の最後に
:usr/local/bin
を付ける.Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
保存、問題解決.