回答:
インストール後redis
、次のように入力しterminal
ます。
redis-server
そしてRedis-Serverが起動されます
cd C:\Program Files\Redis
場合redis-server
経由でredisを起動した後、なぜ接続できないのかを理解しようとしたときに、この質問を見つけましたbrew services start redis
。
マシンまたはインストールのフレッシュさに応じて、redisのデフォルトの設定ファイルまたはディレクトリが不足している可能性があります。
に設定ファイルが必要です/usr/local/etc/redis.conf
。このファイルredis-server
がないと起動しません。デフォルトの設定ファイルをコピーして、そこから変更できます
cp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf
あなたは/usr/local/var/db/redis/
存在する必要があります。あなたはこれを簡単に行うことができます
mkdir -p /usr/local/var/db/redis
最後に、でredisを再起動しbrew services restart redis
ます。
redisがhomebrewを介してデフォルトを使用していないかどうか、およびそれがどのポートにあったかを理解するために、多くの時間を費やしました。redis-server
実際には開始されていなくても、brew services list
redisが「開始済み」と表示されるため、サービスは誤解を招くものでした。最善の方法はbrew services --verbose start redis
、ログファイルがにあることを示すを使用することです/usr/local/var/log/redis.log
。そこを見ると、喫煙銃が見つかりました
Fatal error, can't open config file '/usr/local/etc/redis.conf'
または
Can't chdir to '/usr/local/var/db/redis/': No such file or directory
ありがたいことに、ログは上記の解決策を明白にしました。
redis-server
?確かにできます。端末を起動するか、を実行すると、端末が時々中断されますredis-server &
。またdump.rdb
、(pwd
)で実行したディレクトリに配置されます。私はファイルを削除するかgitでそれを無視しなければならないことに腹を立てたので、私はbrewにサービスでの作業を行わせると考えました。
インストール後redis
、常に実行する必要がある場合は、ターミナルに入力するだけです:
redis-server &
Ubuntuでupstartを使用してredisを実行する
Ubuntuでシステムをゼロからセットアップする方法を理解しようとしています。インストールしたredis
箱にしました、そしてここに私がそれをやった方法と気を付けるべきいくつかのものがあります。
インストールするには:
sudo apt-get install redis-server
これでredis
ユーザーが作成され、そのためのinit.d
スクリプトがインストールされます。upstart
は現在init.dを使用する代わりになっているので、を使用して実行するように変換する必要があると思いupstart
ます。
のデフォルトinit.d
スクリプトを無効にするにはredis
:
sudo update-rc.d redis-server disable
次に/etc/init/redis-server.conf
、次のスクリプトで作成します。
description "redis server"
start on runlevel [23]
stop on shutdown
exec sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf
respawn
これはupstart
、プロセスを開始するために実行するコマンドを知るためのスクリプトです。最後の行はupstart
、死んだ場合でもリスポーンを繰り返し続けるように指示しています。
私が変えなければならなかった一つのこと/etc/redis/redis.conf
はdaemonize yes
、daemonize no
です。変更しないとどうなりますか?redis-server
フォークしてデーモン化し、親プロセスはなくなります。これが発生するupstart
と、プロセスが停止したか停止したと見なされ、プロセスを内部から制御できなくなります。upstart
。
これで、次のコマンドを使用してを制御できますredis-server
。
sudo start redis-server
sudo restart redis-server
sudo stop redis-server
これがお役に立てば幸いです!
まず、以下のコマンドを使用して、すべてのconfファイルに対して1つずつ、すべてのredisノードを起動/開始する必要があります。@注:クラスターを設定している場合、6つのノードが必要です。3つがマスターで3つがスレーブです。redis-cliは、以下のコマンドに示すように、-clusterコマンドを使用して6つのノードからマスターとスレーブを自動的に選択します。
[xxxxx@localhost redis-stable]$ redis-server xxxx.conf
次に実行します
[xxxxx@localhost redis-stable]$ redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
上記の出力は次のようになります。
>>> Performing hash slots allocation on 6 nodes...
すべてのものを自動的にセットアップする2番目の方法:utils / create-clusterスクリプトを使用して、すべてのノードを起動し、フォローするクラスターを作成するなど、すべてのものをセットアップできます。 https://redis.io/topics/cluster-tutorial
ありがとう
アーロンのように、私の場合、brew services list
redisは実行されていると主張しましたが、実行されませんでした。のログファイルに次の情報が見つかりました/usr/local/var/log/redis.log
。
4469:C 28 Feb 09:03:56.197 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
4469:C 28 Feb 09:03:56.197 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=4469, just started
4469:C 28 Feb 09:03:56.197 # Configuration loaded
4469:M 28 Feb 09:03:56.198 * Increased maximum number of open files to 10032 (it was originally set to 256).
4469:M 28 Feb 09:03:56.199 # Creating Server TCP listening socket 192.168.161.1:6379: bind: Can't assign requested address
これは、次の構成が原因であることがわかります。
bind 127.0.0.1 ::1 192.168.161.1
これは、VMWare Fusion仮想マシンがホストであるmacOSのredisサーバーにアクセスできるようにするために必要でした。ただし、仮想マシンが起動していなかった場合、このバインドの失敗により、redisがまったく起動しなくなりました。したがって、仮想マシンを起動すると問題が解決しました。
これを試して :
sudo service redis-server restart