Я работаю с redis на своей локальной машине, поэтому мне действительно не нужно настраивать пароль для подключения к серверу с моим клиентом php (я использую predis как клиент). Тем не менее, я перемещаю свое приложение на живой сервер, поэтому я хочу настроить пароль для подключения к моему серверу redis.
У меня мало вопросов:
Я проверил по всему Интернету, как настроить пароль, и похоже, что мне нужно добавить пароль в redis.conf. Я не смог найти хотя то, что я должен добавить точно в файл конфигурации, чтобы настроить пароль.
также в predis, как мне добавить пароль. Я использую следующий массив параметров для подключения к серверу redis
$ my_server = array ('host' => '127.0.0.1', 'port' => 6379, 'database' => 1);
следует ли добавлять пароль таким образом?
> $my_server = array('host' => '127.0.0.1','port' => > 6379,'database' => 1,'password'=>password);
последний вопрос, я пытаюсь остановить мой redis-сервер на реальном сервере. Каждый раз, когда я ввожу следующую команду, я получаю то же сообщение об ошибке
остановка redis-сервера
[23925] 23 сен 20:23:03 # Неустранимая ошибка, не удается открыть файл конфигурации «stop»
обычно на моей локальной машине я вхожу
/etc/init.d/redis-server stop
остановить сервер redis, но он не работает на моем реальном сервере, так как в моем /etc/init.d не работает процесс redis-server
Чтобы установить пароль, отредактируйте файл redis.conf, найдите эту строку
# requirepass foobared
Затем раскомментируйте его и измените свой пароль. Убедитесь, что вы выбрали что-то довольно длинное, 32 символа или около того, вероятно, были бы хороши, для внешнего пользователя легко угадать до 150 тыс. Паролей в секунду, как отмечают заметки в файле конфигурации.
Чтобы выполнить аутентификацию с помощью нового пароля с помощью predis, синтаксис, который вы показали, верен. Просто добавьте пароль в качестве одного из параметров подключения.
Чтобы отключить redis … проверьте свой конфигурационный файл на настройку pidfile
, это, вероятно, будет
pidfile /var/run/redis.pid
В командной строке выполните:
cat /var/run/redis.pid
Это даст вам идентификатор процесса работающего сервера, а затем просто убейте процесс, используя этот pid:
kill 3832
Обновить
Я также хотел добавить, вы также можете сделать /etc/init.d/redis-server stop
которую вы использовали для работы на вашем реальном сервере. Все эти файлы в файле /etc/init.d/ – это всего лишь сценарии оболочки, откройте скрипт redis-server с локального сервера и скопируйте его на живой сервер в том же месте, а затем просто посмотрите, что он делает с vi или любым другим вам нравится использовать, вам может понадобиться изменить некоторые пути и т. д., но это должно быть довольно просто.
вы также можете использовать следующую команду на клиенте
cmd :: config set requirepass p@ss$12E45
выше команда установит p@ss$12E45
в качестве redis
сервера redis
.
sudo nano /etc/redis/redis.conf
найти и раскомментировать строку # requirepass foobared
, а затем перезапустить сервер
теперь у вас пароль
открыть файл конфигурации redis
sudo nano /etc/redis/redis.conf
установить кодовую фразу
замещать
# requirepass foobared
с
requirepass YOURPASSPHRASE
перезапустить redis
redis-server restart
Шаг 1. Остановите сервер redis, используя команду /etc/init.d/redis-server stop step 2.enter: sudo nano /etc/redis/redis.conf
шаг 3.find # требуется слово foobared и удалить # и изменить foobared to YOUR PASSWORD
ех. требовать корень
я не мог найти хотя то, что я должен добавить точно в файл конфигурации, чтобы настроить пароль.
Файл конфигурации должен быть расположен по адресу /etc/redis/redis.conf
и пароль можно установить в разделе SECURITY, которое должно быть расположено между разделами REPLICATION и LIMITS. Настройка пароля выполняется с помощью директивы requirepass. Для получения дополнительной информации попробуйте ознакомиться с описанием команды AUTH .
Для этого вам нужно обновить конфигурационный файл redis. По умолчанию для redis нет пароля.
01) открыть файл конфигурации redis
sudo vi /etc/redis/redis.conf
найдите требуемое поле в разделе SECURITY и раскомментируйте это поле. Затем установите пароль вместо «foobared»
# requirepass foobared
Это должно быть так,
requirepass YOUR_PASSWORD
Затем перезапустите redis и запустите redis-cli.
Если вам нужно проверить, правильно ли вы установили пароль, вы можете запустить ниже commads в redis-cli.
sithara@sithara-X555UJ ~ $ redis-cli 127.0.0.1:6379> set key1 18 (error) NOAUTH Authentication required. 127.0.0.1:6379> auth admin OK 127.0.0.1:6379> get key1 (nil) 127.0.0.1:6379> exit sithara@sithara-X555UJ ~ $ redis-cli 127.0.0.1:6379> set key1 18 (error) NOAUTH Authentication required. 127.0.0.1:6379> auth admin OK 127.0.0.1:6379> set key2 check OK 127.0.0.1:6379> get key2 "check" 127.0.0.1:6379> get key1 (nil) 127.0.0.1:6379> set key1 20 OK 127.0.0.1:6379> get key1 "20" 127.0.0.1:6379> exit
`
используя redis-cli:
root@server:~# redis-cli 127.0.0.1:6379> CONFIG SET requirepass secret_password OK
это временно установит пароль (до повторного запуска или перезагрузки сервера)
тестовый пароль:
root@server:~# redis-cli 127.0.0.1:6379> AUTH secret_password OK
шаг 1. остановить redis-сервер, используя команду /etc/init.d/redis-server stop
команда 2.enter: sudo nano /etc/redis/redis.conf
шаг 3.find # требуется слово foobared и удалить # и изменить foobared to YOUR PASSWORD
ех. требовать корень
Пример:
redis 127.0.0.1:6379> AUTH PASSWORD (error) ERR Client sent AUTH, but no password is set redis 127.0.0.1:6379> CONFIG SET requirepass "mypass" OK redis 127.0.0.1:6379> AUTH mypass Ok