redis構成の問題sudo:redis-server:command not found/redis-cli shutdown redisを閉じることができません

948 ワード

ネット上で多くの解決方法を調べたが、gccコンパイルがインストールされていないという人もいれば、redis-serverがグローバルコマンドではないという人もいる.この2つは確かに間違いの原因かもしれませんが、私の原因ではありません.
私が直面した問題は、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

保存、問題解決.