Не удалось подключиться к Redis в 127.0.0.1: 6379: соединение отказано с homebrew
используя homebrew для установки Redis, но когда я пытаюсь выполнить ping для Redis, он показывает эту ошибку.
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Примечание : Я пытаюсь отключить брандмауэр и редактировать файл conf также не могу. Я использую macOS Sierra и homebrew версии 1.1.11
5 ответов
я нашел этот вопрос, пытаясь выяснить, почему я не мог подключиться к redis после его запуска через brew services start redis
.
tl; dr
в зависимости от того, насколько свежа ваша машина или установка, вам, вероятно, не хватает файла конфигурации или каталога для 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, поэтому я решил, что позволю Брю работать со службами.
если aftre установить вам нужно запустить redis
на все время, просто введите в терминале:
redis-server &
запуск redis с помощью upstart на Ubuntu
я пытался понять, как настроить системы с нуля на Ubuntu. Я только что установил redis
на коробку, и вот как я это сделал, и некоторые вещи, которые нужно искать.
установка:
sudo apt-get install redis-server
это создаст redis
пользователь и установить init.d
сценарий для него. С upstart
теперь является заменой для использования init.d, Я полагаю, что должен преобразовать его в run с помощью 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
to daemonize no
. Что произойдет, если вы не измените это redis-server
будет вилять и демонизировать себя, и родительский процесс уходит. Когда это происходит, upstart
думает, что процесс умер / остановился, и у вас не будет контроля над процессом изнутри upstart
.
теперь вы можете использовать команды folowing для управления вашим redis-server
:
sudo start redis-server
sudo restart redis-server
sudo stop redis-server
надеюсь, это было полезно!
в моем случае, это был пароль, который содержит некоторые символы, такие как '
, после его изменения сервер запустился без проблем.
у меня была такая же проблема, потому что я использовал неправильный синтаксис в моем файле конфигурации. Я хотел добавить:--3-->
maxmemory-policy allkeys-lru
в мой конфигурационный файл, но вместо этого только добавил:
allkeys-lru
что, очевидно, помешало Redis анализировать конфигурационный файл, что, в свою очередь, помешало мне подключиться через cli. Исправление этого синтаксиса позволило мне подключиться к Redis.