| Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія |
| linux:webserver:redis [28/05/2024 06:46] – osvex | linux:webserver:redis [Невідома дата] (поточний) – зовнішнє редагування (Невідома дата) 127.0.0.1 |
|---|
| |
| **Output** | **Output** |
| | <code> |
| | redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)Active: active (running)since Wed 2018-06-2718:48:52UTC; 12s ago Docs: http://redis.io/documentation, man:redis-server(1)Process: 2421ExecStop=/bin/kill-sTERM $MAINPID(code=exited, status=0/SUCCESS)Process: 2424ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)Main PID: 2445(redis-server)Tasks: 4(limit: 4704)CGroup: /system.slice/redis-server.service └─2445/usr/bin/redis-server 127.0.0.1:6379. . . |
| |
| <callout title="info" type="info"> | </code> |
| | |
| ● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)Active: active (running)since Wed 2018-06-2718:48:52UTC; 12s ago Docs: [[http://redis.io/documentation|http://redis.io/documentation]], man:redis-server(1)Process: 2421ExecStop=/bin/kill-sTERM $MAINPID(code=exited, status=0/SUCCESS)Process: 2424ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)Main PID: 2445(redis-server)Tasks: 4(limit: 4704)CGroup: /system.slice/redis-server.service └─2445/usr/bin/redis-server 127.0.0.1:6379. . . | |
| |
| </callout>\\ | |
| Здесь вы можете видеть, что служба Redis запущена и уже активирована, т.е. для нее настроен запуск при загрузке сервера. | Здесь вы можете видеть, что служба Redis запущена и уже активирована, т.е. для нее настроен запуск при загрузке сервера. |
| |
| **Примечание:** данную опцию рекомендуется использовать во многих стандартных случаях использования Redis. Однако если вы предпочитаете запускать Redis каждый раз вручную при загрузке сервера, воспользуйтесь следующей командой: | <WRAP tip>Данную опцию рекомендуется использовать во многих стандартных случаях использования Redis. Однако если вы предпочитаете запускать Redis каждый раз вручную при загрузке сервера, воспользуйтесь следующей командой: |
| <code bash> | |
| sudo systemctl disable redis | |
| |
| | **sudo systemctl disable redis** |
| |
| </code> | </WRAP>\\ |
| | \\ |
| Чтобы убедиться, что Redis работает правильно, подключитесь к серверу с помощью клиента командной строки: | Чтобы убедиться, что Redis работает правильно, подключитесь к серверу с помощью клиента командной строки: |
| |
| |
| **Output**: | **Output**: |
| | <code> |
| | PONG |
| |
| ''PONG'' | </code> |
| |
| Данный вывод подтверждает, что подключение сервера активно. Затем проверьте, что вы можете задать ключи: | Данный вывод подтверждает, что подключение сервера активно. Затем проверьте, что вы можете задать ключи: |
| <code> | |
| |
| | <code> |
| set test "It's working!" | set test "It's working!" |
| |
| |
| **Output** | **Output** |
| | <code> |
| | OK |
| |
| ''OK'' | </code> |
| |
| Запросите значение с помощью следующей команды: | Запросите значение с помощью следующей команды: |
| |
| **Output** | **Output** |
| | <code> |
| | "It's working!" |
| |
| ''"It's working!"'' | </code> |
| |
| Убедившись, что вы можете получить значение, закройте диалоговое окно Redis и вернитесь в командную строку: | Убедившись, что вы можете получить значение, закройте диалоговое окно Redis и вернитесь в командную строку: |
| |
| **Output** | **Output** |
| | <code> |
| | "It's working!" |
| |
| ''"It's working!"'' | </code> |
| |
| Выйдите в командную строку после завершения: | Выйдите в командную строку после завершения: |
| |
| **Output** | **Output** |
| | <code> |
| |
| ''tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 14222/redis-server tcp6 0 0 ::1:6379 :::* LISTEN 14222/redis-server '' | tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 14222/redis-server tcp6 0 0 ::1:6379 :::* LISTEN 14222/redis-server |
| | |
| | </code> |
| |
| Данный вывод указывает, что программа ''redis-server'' привязана к **localhost** (''127.0.0.1''), отражая изменения, которые вы только что внесли в файл конфигурации. Если вы увидите другой IP-адрес в этой колонке (например, ''0.0.0.0''), вам нужно еще раз проверить, что вы не закомментировали нужную строку и перезапустить службу Redis. | Данный вывод указывает, что программа ''redis-server'' привязана к **localhost** (''127.0.0.1''), отражая изменения, которые вы только что внесли в файл конфигурации. Если вы увидите другой IP-адрес в этой колонке (например, ''0.0.0.0''), вам нужно еще раз проверить, что вы не закомментировали нужную строку и перезапустить службу Redis. |
| Настройка пароля Redis позволяет использовать одну из двух встроенных функций безопасности — команду ''auth'', которая требует аутентификации клиентов для доступа к базе данных. Пароль настраивается непосредственно в файле конфигурации Redis, ''/etc/redis/redis.conf'', поэтому вам нужно снова открыть этот файл в предпочитаемом редакторе: | Настройка пароля Redis позволяет использовать одну из двух встроенных функций безопасности — команду ''auth'', которая требует аутентификации клиентов для доступа к базе данных. Пароль настраивается непосредственно в файле конфигурации Redis, ''/etc/redis/redis.conf'', поэтому вам нужно снова открыть этот файл в предпочитаемом редакторе: |
| <code> | <code> |
| |
| sudo nano /etc/redis/redis.conf | sudo nano /etc/redis/redis.conf |
| |
| |
| **Output** | **Output** |
| | <code> |
| |
| ''RBOJ9cCNoGCKhlEBwQLHri1g+atWgn4Xn4HwNUbtzoVxAYxkiYBi7aufl4MILv1nxBqR4L6NNzI0X6cE '' | RBOJ9cCNoGCKhlEBwQLHri1g+atWgn4Xn4HwNUbtzoVxAYxkiYBi7aufl4MILv1nxBqR4L6NNzI0X6cE |
| | |
| | </code> |
| |
| Скопируйте и вставьте вывод этой команды в качестве нового значения для ''requirepass''. Оно должно выглядеть следующим образом: | Скопируйте и вставьте вывод этой команды в качестве нового значения для ''requirepass''. Оно должно выглядеть следующим образом: |
| |
| После установки пароля сохраните и закройте файл, а потом перезапустите Redis: | После установки пароля сохраните и закройте файл, а потом перезапустите Redis: |
| <code> | |
| |
| | <code> |
| sudo systemctl restart redis.service | sudo systemctl restart redis.service |
| |
| |
| **Output** | **Output** |
| | <code> |
| | (error) NOAUTH Authentication required. |
| |
| ''(error) NOAUTH Authentication required. '' | </code> |
| |
| Следующая команда выполняет аутентификацию с паролем, указанным в файле конфигурации Redis: | Следующая команда выполняет аутентификацию с паролем, указанным в файле конфигурации Redis: |
| |
| **Output** | **Output** |
| | <code> |
| | OK |
| |
| ''OK '' | </code> |
| |
| После этого запуск предыдущей команды будет успешным: | После этого запуск предыдущей команды будет успешным: |
| |
| **Output** | **Output** |
| | <code> |
| | OK |
| |
| ''OK '' | </code> |
| |
| ''get key1'' запрашивает в Redis значение нового ключа. | ''get key1'' запрашивает в Redis значение нового ключа. |
| |
| **Output** | **Output** |
| | <code> |
| | "10" |
| |
| ''"10" '' | </code> |
| |
| Подтвердив, что вы можете выполнять команды в клиенте Redis после аутентификации, вы можете закрыть ''redis-cli'': | Подтвердив, что вы можете выполнять команды в клиенте Redis после аутентификации, вы можете закрыть ''redis-cli'': |
| |
| </code> | </code> |
| | |
| | <WRAP warning> |
| |
| **Предупреждение.** Седующие шаги с демонстрацией отключения или переименования команд являются примерами. Вы должны отключить или переименовать команды, имеющие смысл для вас. Вы можете просмотреть полный список команд самостоятельно и узнать, как они могут использоваться злоумышленниками, по адресу [[http://redis.io/commands|redis.io/commands]]. | **Предупреждение.** Седующие шаги с демонстрацией отключения или переименования команд являются примерами. Вы должны отключить или переименовать команды, имеющие смысл для вас. Вы можете просмотреть полный список команд самостоятельно и узнать, как они могут использоваться злоумышленниками, по адресу [[http://redis.io/commands|redis.io/commands]]. |
| | |
| | </WRAP> |
| |
| Чтобы отключить команду, просто укажите пустую строку в качестве имени (обозначается парой кавычек без символов между ними), как показано ниже: | Чтобы отключить команду, просто укажите пустую строку в качестве имени (обозначается парой кавычек без символов между ними), как показано ниже: |
| |
| **Output** | **Output** |
| | <code> |
| | OK |
| |
| ''OK '' | </code> |
| |
| Предположим, вы переименовали команду ''CONFIG'' в ''ASC12_CONFIG'', как показано в предыдущем примере. Сначала попробуйте воспользоваться первоначальной команду ''CONFIG''. Команда не будет выполнена, потому что вы переименовали ее: | Предположим, вы переименовали команду ''CONFIG'' в ''ASC12_CONFIG'', как показано в предыдущем примере. Сначала попробуйте воспользоваться первоначальной команду ''CONFIG''. Команда не будет выполнена, потому что вы переименовали ее: |
| |
| **Output** | **Output** |
| | <code> |
| | (error) ERR unknown command 'config' |
| |
| ''(error) ERR unknown command 'config' '' | </code> |
| |
| Вызов переименованной команды будет успешным. Регистр не имеет значения: | Вызов переименованной команды будет успешным. Регистр не имеет значения: |
| |
| **Output** | **Output** |
| | <code> |
| | 1) "requirepass" 2) "your_redis_password" |
| |
| ''1) "requirepass" 2) "your_redis_password" '' | </code> |
| |
| После этого вы можете закрыть ''redis-cli'': | После этого вы можете закрыть ''redis-cli'': |
| |
| **Output** | **Output** |
| | <code> |
| | NOAUTH Authentication required. |
| |
| ''NOAUTH Authentication required. '' | </code> |
| |
| В отношении практики переименования команд в конце раздела ''SECURITY'' файла ''/etc/redis/redis.conf'' есть следующее предостережение: | В отношении практики переименования команд в конце раздела ''SECURITY'' файла ''/etc/redis/redis.conf'' есть следующее предостережение: |