#!/bin/bash . /etc/init.d/functions VERSION=redis-5.0.7 PASSWORD=123456 INSTALL_DIR=/usr/lcoal/redis install() { yum -y install gcc jemalloc-devel || { action "安装软件包失败,请检查网络配置" false ; exit; } wget http://download.redis.io/releases/${VERSION}.tar.gz || { action "Redis 源码下载失败" false ; exit; } tar xf ${VERSION}.tar.gz cd ${VERSION} make -j 4 PREFIX=${INSTALL_DIR} install && action "Redis 编译安装完成" || { action "Redis 编译安装失败" false ;exit ; } ln -s ${INSTALL_DIR}/bin/redis-* /usr/bin/ mkdir -p ${INSTALL_DIR}/{etc,logs,data,run} cp redis.conf ${INSTALL_DIR}/etc/ sed -i.bak -e 's/bind 127.0.0.1/bind 0.0.0.0/' -e "/# requirepass/a requirepass $PASSWORD" ${INSTALL_DIR}/etc/redis.conf if id redis &> /dev/null ;then action "Redis 用户已存在" false else useradd -r -s /sbin/nologin redis action "Redis 用户创建成功" fi chown -R redis.redis ${INSTALL_DIR} cat >> /etc/sysctl.conf <<EOF net.core.somaxconn = 1024 vm.overcommit_memory = 1 EOF echo never > /sys/kernel/mm/transparent_hugepage/enabled cat > /usr/lib/systemd/system/redis.service <<EOF [Unit] Description=Redis persistent key-value database After=network.target [Service] ExecStart=${INSTALL_DIR}/bin/redis-server ${INSTALL_DIR}/etc/redis.conf --supervised systemd ExecStop=/bin/kill -s QUIT \$MAINPID Type=notify User=redis Group=redis RuntimeDirectory=redis RuntimeDirectoryMode=0755 [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl start redis &> /dev/null && action "Redis 服务启动成功,Redis信息如下:" || { action "Redis 启动失败" false ;exit; } redis-cli -a $PASSWORD INFO Server 2> /dev/null } install
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。