Docker
直接docker启动
#!/bin/bash
# Docker Redis 部署脚本
REDIS_PASSWORD=$(openssl rand -base64 32 | tr -d '/+=' | cut -c1-24)
# 1. 创建数据目录
mkdir -p /data/redis/{data,conf}
# 2. 创建配置文件
cat > /data/redis/conf/redis.conf << EOF
requirepass ${REDIS_PASSWORD}
appendonly yes
appendfsync everysec
maxmemory 4gb
maxmemory-policy allkeys-lru
bind 0.0.0.0
protected-mode yes
EOF
# 3. 启动容器
docker run -d \
--name redis-6379 \
--restart always \
--memory 4g \
--cpus 2 \
-p 6379:6379 \
-v /data/redis/data:/data \
-v /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
redis:7.2.4-alpine \
redis-server /usr/local/etc/redis/redis.conf
# 4. 验证
docker ps | grep redisdocker compose
services:
redis:
image: redis:7.2-alpine
container_name: redis-server
restart: unless-stopped
ports:
- "6379:6379"
environment:
- REDIS_PASSWORD=${REDIS_PASSWORD:-your_strong_password_here}
command:
- redis-server
- --requirepass ${REDIS_PASSWORD:-your_strong_password_here}
- --appendonly yes
- --maxmemory 512mb
- --maxmemory-policy allkeys-lru
volumes:
- redis-data:/data
networks:
- redis-network
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD:-your_strong_password_here}", "ping"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
redis-network:
driver: bridge
volumes:
redis-data:
driver: local方法1: 使用环境变量(推荐)
1 # 设置环境变量 2 export REDIS_PASSWORD=你的新密码 3 4 # 重启Redis 5 cd /tmp && docker compose -f redis.yaml down 6 cd /tmp && docker compose -f redis.yaml up -d
方法2: 创建.env文件
1 # 创建.env文件 2 echo "REDIS_PASSWORD=你的新密码" > /tmp/.env 3 4 # 重启Redis 5 cd /tmp && docker compose -f redis.yaml down 6 cd /tmp && docker compose -f redis.yaml up -d
方法3: 直接修改redis.yaml
编辑 /tmp/redis.yaml 文件,将所有 ${REDIS_PASSWORD:-your_strong_password_here} 中的默认密码改为你想要的密码,然后重启容器。
验证新密码
1 # 使用新密码测试连接 2 docker exec redis-server redis-cli -a 你的新密码 ping
✦ 注意: 修改密码后,所有使用旧密码的客户端都需要更新密码配置。
进程
bash
#!/bin/bash
# 生产环境 Redis 进程部署脚本
REDIS_VERSION="7.2.4"
REDIS_PORT="6379"
REDIS_PASSWORD=$(openssl rand -base64 32 | tr -d '/+=' | cut -c1-24)
# 1. 创建专用用户
useradd -r -s /bin/false redis
# 2. 创建目录结构
mkdir -p /etc/redis
mkdir -p /var/lib/redis/6379
mkdir -p /var/log/redis
# 3. 下载编译
cd /tmp
wget https://download.redis.io/releases/redis-${REDIS_VERSION}.tar.gz
tar xzf redis-${REDIS_VERSION}.tar.gz
cd redis-${REDIS_VERSION}
make -j$(nproc)
make install
# 4. 配置文件
cat > /etc/redis/6379.conf << EOF
bind 127.0.0.1
port 6379
requirepass ${REDIS_PASSWORD}
dir /var/lib/redis/6379
dbfilename dump.rdb
logfile /var/log/redis/6379.log
maxmemory 4gb
maxmemory-policy allkeys-lru
EOF
# 5. systemd 服务
cat > /etc/systemd/system/redis-6379.service << EOF
[Unit]
Description=Redis 6379
After=network.target
[Service]
Type=simple
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable redis-6379
systemctl start redis-6379