Ответ 1
После установки redis
введите terminal
:
redis-server
И Redis-Server будет запущен
Использование homebrew для установки Redis, но когда я пытаюсь выполнить ping для Redis, вы увидите эту ошибку.
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Примечание: Я пытаюсь отключить брандмауэр и изменить файл conf также не может. Я использую macOS Sierra и homebrew версии 1.1.11
После установки redis
введите terminal
:
redis-server
И 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 &
Запуск redis с использованием upstart на Ubuntu
Я пытался понять, как настроить системы с нуля на 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
Надеюсь, это было полезно!
В моем случае это был пароль, содержащий несколько символов, таких как '
, после его изменения сервер запускался без проблем.
У меня была такая же проблема, потому что я использовал неправильный синтаксис в моем файле конфигурации. Я хотел добавить:
maxmemory-policy allkeys-lru
в мой файл конфигурации, но вместо этого добавляется только:
allkeys-lru
что, очевидно, помешало Redis разобрать файл конфигурации, что, в свою очередь, помешало мне подключиться через cli. Фиксация этого синтаксиса позволила мне подключиться к Redis.
Это лучший способ подключиться к вашему redis.
Сначала проверьте ip-адрес сервера redis следующим образом.
ps -ef | grep redis
Результатом является вид "redis 1184 1 0..../usr/bin/redis-server 172.xxx:6379
А затем вы можете подключиться к redis с параметром -h (имя хоста), подобным этому.
redis-cli -h 172.xxx
Если бы проблема с homebrew MacOS
была проблемой, то было какое-то разрешение, отсутствующее в каталоге /usr/local/var/log
см. Проблему здесь
Чтобы решить проблему, я удалил /usr/local/var/log
и переустановил redis brew reinstall redis
Сначала вам нужно запустить/запустить все узлы redis, используя команду ниже, один за другим для всех файлов conf. @Примечание: если вы настраиваете кластер, то у вас должно быть 6 узлов, 3 из которых будут главными, а 3 будут подчиненными. Redis-cli автоматически выберет главный и подчиненный из 6 узлов, используя команду --cluster, как показано в приведенных ниже командах.,
[[email protected] redis-stable]$ redis-server xxxx.conf
затем беги
[[email protected] 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.
Спасибо