ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

在线编译安装redis脚本

2021-09-13 21:01:17  阅读:142  来源: 互联网

标签:在线 etc apps FILE redis 编译 install CONF


#!/bin/bash

INSTALL_DIR=/apps/redis
CONF_FILE=/apps/redis/etc/redis.conf

before_install (){
	yum makecache && yum install -y gcc jemalloc > /dev/null
	cd /usr/local/src && wget https://download.redis.io/releases/redis-5.0.9.tar.gz
	tar xzvf redis-5.0.9.tar.gz > /dev/null
}

redis_install (){
	cd redis-5.0.9 && make PREFIX=${INSTALL_DIR} install
}

after_install (){
	useradd -r -s /sbin/nologin redis 
	mkdir -p /apps/redis/{etc,log,run,data} && chown redis.redis -R /apps/redis/ 

	cp /usr/local/src/redis-5.0.9/redis.conf /apps/redis/etc/
	sed -ri.bak '/^daemonize/s/yes/no/' $CONF_FILE
	sed -ri '/^bind/s/127.0.0.1/0.0.0.0/' $CONF_FILE
	sed -ri '/^protected-mode/s/yes/no/' $CONF_FILE
	sed -ri '/^pidfile/s/\/var/\/apps\/redis/' $CONF_FILE
	sed -ri '/^logfile/s/\"\"/\"\/apps\/redis\/log\/redis.log\"/' $CONF_FILE
	sed -ri '/^dir/s/\.\//\/apps\/redis\/data/' $CONF_FILE

cat > /lib/systemd/system/redis.service << EOF
[Unit]
Description=Redis persistent key-value database
After=network.target
  
[Service]
ExecStart=/apps/redis/bin/redis-server /apps/redis/etc/redis.conf --supervised systemd
#ExecStop=/usr/libexec/redis-shutdown
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

cat >> /etc/sysctl.conf << EOF
vm.overcommit_memory = 1
net.core.somaxconn = 1024
EOF
	sysctl -p

echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local && /etc/rc.d/rc.local

	systemctl start redis && echo "redis 启动成功"
}

main (){
	before_install
	redis_install
	after_install
}
main

标签:在线,etc,apps,FILE,redis,编译,install,CONF
来源: https://www.cnblogs.com/windman0/p/15264822.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有