=================================
©Авторское право Сладкий картофель Яо2022-01-20
Блог Sweet Potato Yao - Блог CSDN
1. Загрузите файл Redis
https://redis.io/download
2. Загрузите файл redis (redis-6.2.6.tar.gz) на сервер для компиляции и установки.
1. Разархивируйте файл:
tar -zxvf redis-6.2.6.tar.gz
2. Измените имя папки, сделайте его короче
mv redis-6.2.6 redis6
3. Войдите в каталог:
cd redis6/
4. Скомпилируйте файл:
make
Если команда make сообщает об ошибке (да, можно пропустить):
make[3]: cc: команда не найдена
make[3]: *** [alloc.o] ошибка 127
make[3]: выход из каталога "/java/
make[2]: *** [hiredis] error 2
make[2]: выход из каталога «/java/redis6/deps» make
[1]: [persist-settings] error 2 (игнорировать)
CC adlist.o
/bin/sh: cc: команда не найдена
make[1]: *** [adlist.o] ошибка 127
make[1]: выход из каталога "/java/redis6/src"
make: *** [все ] ошибка 2
Решение (копия: команда не найдена):
yum -y install gcc automake autoconf libtool make
Если команда make по-прежнему сообщает об ошибке (да, пропустите ее):
zmalloc.h:50:31: фатальная ошибка: jemalloc/jemalloc.h: Нет такого файла или каталога
#include <jemalloc/jemalloc.h>
^
Компиляция прервана.
make[1]: *** [adlist.o] Ошибка 1
make[1]: Выход из каталога "/java/redis6/src"
make: *** [all] Ошибка 2
Решение: make add arguments (фатальная ошибка: jemalloc /jemalloc.h):
make MALLOC=libc
5. После компиляции установите Redis
PREFIX в качестве указанного каталога установки и автоматически создайте каталог bin.
make install PREFIX=/java/redis6
Вид (еще один каталог bin):
ll
3. Репликация файла конфигурации Redis и каталог хранения данных
1. Создайте каталог хранения данных redis, и все остальные приложения будут хранить здесь данные для удобного резервного копирования.
sudo mkdir -p /var/datas/redis
2. Изменить владельца каталога
sudo chown -R java:java /var/datas
3. Скопируйте файл конфигурации redis.conf в каталог bin.
cp /java/redis6/redis.conf /java/redis6/bin/
4. Войдите в каталог bin:
cd /java/redis6/bin/
В-четвертых, изменение атрибутов файла конфигурации redis.conf
Измените файл конфигурации redis.conf.
vi /java/redis6/bin/redis.conf
1. Redis включает режим демона
Найдите элемент конфигурации daemonize, измените его на yes и включите режим daemonize.
daemonize yes
2. Redis отменяет привязку IP
Закомментируйте строку bind 127.0.0.1, вы можете подключаться к redis только локально, иначе вы не можете использовать удаленное подключение.
# bind 127.0.0.1
3. Redis отключает защищенный режим
Измените защищенный режим да на нет, также чтобы открыть удаленное соединение.
protected-mode no
4. Изменить порт Redis по умолчанию (можно не указывать)
Порт по умолчанию — 6378, изменен на 6677.
port 6677
位置和示例:
# Принимать соединения на указанном порту, по умолчанию 6379 (IANA #815344).
# Если указан порт 0, Redis не будет прослушивать TCP-сокет.
порт 6677
5. Redis изменяет имя файла rdb, каталог хранилища, имя файла журнала.
Имя файла и конфигурация, связанная с путем
pidfile /var/run/redis_101_6677.pid
logfile "redis-101-6677.log"
dbfilename dump-101-6677.rdb
dir /var/datas/redis/
dir Каталог, в котором хранятся журналы конфигурации и файлы rdb, за которым следует /
位置:
# Рабочий каталог.
#
# БД будет записана в этот каталог с именем файла, указанным
# выше с помощью директивы конфигурации 'dbfilename'.
#
# Файл только для добавления также будет создан внутри этого каталога.
#
# Обратите внимание, что вы должны указать здесь каталог, а не имя файла.
каталог /var/данные/редис/
6. Пароль смены Redis: пароль requirepass (можно опустить, если не требуется)
Откройте комментарий и измените пароль на: 123456.
requirepass 123456
位置:
# ВАЖНОЕ ПРИМЕЧАНИЕ: начиная с Redis 6, «requirepass» — это просто
уровень совместимости поверх новой системы ACL. Эффектом опции будет просто установка
# пароля для пользователя по умолчанию. Клиенты по-прежнему будут аутентифицироваться, используя
# AUTH <password>, как обычно, или более явно с помощью AUTH default <password>
, # если они следуют новому протоколу: оба варианта будут работать.
#
# requirepass не совместим с параметром aclfile и командой ACL LOAD
#, это приведет к игнорированию requirepass.
#
# requirepass
3. Запуск и тестирование Redis
1. Запустите Redis
/java/redis6/bin/redis-server /java/redis6/bin/redis.conf
2. Просмотрите процесс Redis:
ps -ef | grep redis
3. Запустите клиент Redis
#默认启动命令(默认端口是6379)
/java/redis6/bin/redis-cli
#指定IP地址和指定端口启动
#-h host 指定IP地址
#-p port 指定端口号
/java/redis6/bin/redis-cli -h 127.0.0.1 -p 6677
#指定IP地址、端口号、密码启动
#-h host 指定IP地址
#-p port 指定端口号
#-a auth 指定密码,首先得在配置文件设置密码:requirepass 123456
/java/redis6/bin/redis-cli -h 127.0.0.1 -p 6677 -a redisPassword
В-четвертых, Centos7 устанавливает запуск Redis, и Redis запускается автоматически.
1. Создайте файл redis.service в каталоге системных служб.
sudo vi /etc/systemd/system/redis.service
2. Вставьте содержимое файла redis.service (перед вставкой нажмите букву i, чтобы войти в режим редактирования):
Измените путь на собственный путь установки
[Unit]
#Description:描述服务
Description=Redis
#After:描述服务类别
After=network.target
#服务运行参数的设置
[Service]
#Type=forking是后台运行的形式
Type=forking
#ExecStart为服务的具体运行命令,路径必须是绝对路径
ExecStart=/java/redis6/bin/redis-server /java/redis6/bin/redis.conf
#ExecReload为重启命令 ,路径必须是绝对路径
ExecReload=/java/redis6/bin/redis-server -s reload
#ExecStop为停止命令 ,路径必须是绝对路径
ExecStop=/java/redis6/bin/redis-server -s stop
#PrivateTmp=True表示给服务分配独立的临时空间
PrivateTmp=true
#运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
[Install]
WantedBy=multi-user.target
3. Перезагрузить системные службы:
sudo systemctl daemon-reload
4. Служба redis.service добавлена в автозапуск при загрузке (учтите, что пробел после redis.service пропускать нельзя)
sudo systemctl enable redis.service
5. Перезагрузите сервер
reboot -f
6. После перезагрузки системы проверьте статус работы службы:
sudo systemctl status redis.service
7. Другие команды
sudo systemctl start redis.service #启动redis服务
sudo systemctl enable redis.service #设置开机自启动
sudo systemctl disable redis.service #停止开机自启动
sudo systemctl status redis.service #查看服务当前状态
sudo systemctl restart redis.service #重新启动服务
sudo systemctl list-units --type=service |grep redis #查看所有已启动的服务
Пять, порт соединения Redis открыт
1. Открытые порты:
sudo firewall-cmd --zone=public --add-port=6677/tcp --permanent
2. Сделайте так, чтобы порт вступил в силу:
sudo firewall-cmd --reload
3. Просмотрите все открытые порты на брандмауэре
sudo firewall-cmd --zone=public --list-ports
В-шестых, Linux Redis перезапускает решение для потери данных
Это можно решить, установив параметр (vm.overcommit_memory) в системе Linux.
Действуйте следующим образом:
1. Отредактируйте файл конфигурации sysctl.conf.
sudo vi /etc/sysctl.conf
2. Добавьте параметр конфигурации vm.overcommit_memory в другую строку под комментарием к файлу, как показано ниже.
vm.overcommit_memory = 1
3. Сделайте так, чтобы файл конфигурации вступил в силу
sudo sysctl -p
4. Тест
#指定IP地址和指定端口启动
#-h host 指定IP地址
#-p port 指定端口号
/java/redis6/bin/redis-cli -h 127.0.0.1 -p 6677
set aa 11
get aa
5. Перезагрузите сервер
Перезапустите сервер и повторите шаг 4, чтобы подключиться к клиенту Redis для просмотра данных.
reboot -f
(Время дорого, делиться нелегко, жертвуйте и возвращайте, ^_^)
=================================
©Авторское право Сладкий картофель Яо2022-01-20