Centos7 устанавливает Redis6, установка и запуск Linux Redis

=================================

©Авторское право Сладкий картофель Яо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

Блог Sweet Potato Yao - Блог CSDN

рекомендация

отblog.csdn.net/w995223851/article/details/122603347