【redis營運】redis自動安裝指令碼(只安裝redis)

來源:互聯網
上載者:User

Redis自動安裝部署

本文總共分為4個部分:

redis自動安裝指令碼目錄結構說明;

redis自動安裝指令碼內容;

redis的作業系統服務指令碼說明;

本文引用的資料連結地址。

說明:本文未涉及redis記憶體 Clerk部分的內容。

第一部分

Redis自動安裝指令碼目錄結構說明:

# ls 查看目前的目錄包含以下3個檔案

-- install_redis.sh # redis自動安裝指令碼

-- redis-2.8.9.tar.gz # redis安裝包(需make,make test,make install)

-- redis_service_script # redis 作業系統服務指令碼(用於配置redis服務開機自啟動,以及redis服務管理命令)

第二部分

###########################redis自動安裝指令碼內容開始(install_redis.sh)######################

#!/bin/bash

# Version: v1.0 by JiangYanguo on 2014-05-14
# Desc: auto make, make install and configure redis


REDIS_CONF="/etc/redis.conf"

# 檢查redis的安裝包是否存在
if [ "`ls redis-*.tar.gz >/dev/null 2>&1 ; echo $?`" -ne 0 ]
then
echo "Error: redis*.tar.gz file doesn't exists."
exit
else
REDIS_PACKAGE="`ls -ltr redis-*.tar.gz | head -1 | awk '{print $NF}' `"
fi

# 安裝redis,make,make test,make install
# install redis

echo "Info: install redis..."

tar zxf ${REDIS_PACKAGE}

REDIS_DIR="`ls -ltr | egrep '^d' | awk '{print $NF}'`"

cd ${REDIS_DIR}

pwd

make

make test

if [ "$?" -nt 0 ];then
echo "Some dependent packages are needed."
exit
fi

make install


echo "Info: set ${REDIS_CONF} ..."

cd ..

# 設定redis設定檔,data目錄為/home/redis
# set /etc/redis.conf
cp redis.conf /etc/

sed -i 's/^daemonize\(.*\)/#daemonize\1/g' ${REDIS_CONF}
sed -i '2 adaemonize yes' ${REDIS_CONF}

sed -i 's/^dir\(.*\)/#dir\1/g' ${REDIS_CONF}
sed -i '2 adir \/home\/redis\/' ${REDIS_CONF}


# set memory allocate method
[ "`egrep 'vm.overcommit_memory=1' /etc/sysctl.conf | wc -l`" -eq 0 ] && echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
/sbin/sysctl -p

# add redis user
useradd redis

# set redis data dir
mkdir -p /home/redis/
chown -R redis.redis /home/redis

#設定redis服務開機自啟動,也是redis的管理服務
# set redis service
echo "Info: set redis service ..."
cp redis_service_script /etc/init.d/redis
chmod +x /etc/init.d/redis
chkconfig --add redis
chkconfig redis on

#
echo "Info: finish installing redis."
echo ""

########################## redis自動安裝指令碼內容結束 (install_redis.sh)#####################################

第三部分

########################## redis的作業系統服務指令碼內容開始(redis_service_script)#########################################

#!/bin/bash

# redis - Startup script for redis

# chkconfig: 2345 85 152345 85 15
# description: startup script fZ喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vciByZWRpczxicj4KIyBwcm9jZXNzbmFtZTogcmVkaXMtc2VydmVyPGJyPgojIGNvbmZpZzogL2V0Yy9yZWRpcy5jb25mPGJyPgojIHBpZGZpbGU6IC92YXIvcnVuL3JlZGlzLnBpZDxicj4KIyBkYXRhZmlsZXBhdGg6IC9ob21lL3JlZGlzLzxicj4KPGJyPgojPGJyPgpSRURJU1BPUlQ9NjM3OTxicj4KRVhFQz0vdXNyL2xvY2FsL2Jpbi9yZWRpcy1zZXJ2ZXI8YnI+ClJFRElTX0NMST0vdXNyL2xvY2FsL2Jpbi9yZWRpcy1jbGk8YnI+CiAgIDxicj4KUElERklMRT0mcXVvdDsvdmFyL3J1bi9yZWRpcy5waWQmcXVvdDs8YnI+CkNPTkY9JnF1b3Q7L2V0Yy9yZWRpcy5jb25mJnF1b3Q7PGJyPgo8YnI+CiMjIHN0YXJ0PGJyPgpmdW5jdGlvbiBzdGFydCgpezxicj4KICBlY2hvICZxdW90O0luZm86IHN0YXJ0IHJlZGlzLi4uJnF1b3Q7PGJyPgogICBpZiBbIC1mICRQSURGSUxFIF08YnI+CiAgIHRoZW48YnI+CiAgICAgICBlY2hvICZxdW90OyRQSURGSUxFIGV4aXN0cywgcHJvY2VzcyBpcyBhbHJlYWR5IHJ1bm5pbmcgb3IgY3Jhc2hlZCZxdW90Ozxicj4KICAgZWxzZTxicj4KICAgICAgIGVjaG8gJnF1b3Q7U3RhcnRpbmcgUmVkaXMgc2VydmVyLi4uJnF1b3Q7PGJyPgogICAgICAgJEVYRUMgJENPTkY8YnI+CiAgIGZpPGJyPgogICBpZiBbICZxdW90OyQ/JnF1b3Q7PSZxdW90OzAmcXVvdDsgXSA8YnI+CiAgIHRoZW48YnI+CiAgICAgICBlY2hvICZxdW90O1JlZGlzIGlzIHJ1bm5pbmcuLi4mcXVvdDs8YnI+CiAgIGZpPGJyPgp9PGJyPgo8YnI+CiMjIHN0b3A8YnI+CmZ1bmN0aW9uIHN0b3AoKXs8YnI+CiAgZWNobyAmcXVvdDtJbmZvOiBzdG9wIHJlZGlzLi4uJnF1b3Q7PGJyPgogIGlmIFsgISAtZiAkUElERklMRSBdO3RoZW48YnI+CiAgICAgIGVjaG8gJnF1b3Q7JFBJREZJTEUgZG9lcyBub3QgZXhpc3QsIHByb2Nlc3MgaXMgbm90IHJ1bm5pbmcmcXVvdDs8YnI+CiAgZWxzZTxicj4KICAgICAgUElEPSQoY2F0ICRQSURGSUxFKTxicj4KICAgICAgZWNobyAmcXVvdDtTdG9wcGluZyAuLi4mcXVvdDs8YnI+CiAgICAgICRSRURJU19DTEkgLXAgJFJFRElTUE9SVCBTSFVURE9XTjxicj4KICAgICAgd2hpbGUgWyAteCAke1BJREZJTEV9IF08YnI+CiAgICAgIGRvPGJyPgogICAgICAgICAgZWNobyAmcXVvdDtXYWl0aW5nIGZvciBSZWRpcyB0byBzaHV0ZG93biAuLi4mcXVvdDs8YnI+CiAgICAgICAgICBzbGVlcCAxPGJyPgogICAgICBkb25lPGJyPgogICAgICBlY2hvICZxdW90O1JlZGlzIHN0b3BwZWQmcXVvdDs8YnI+CiAgZmk8YnI+Cjxicj4KfTxicj4KPGJyPgojIyByZXN0YXJ0PGJyPgpmdW5jdGlvbiByZXN0YXJ0KCl7PGJyPgogIHN0b3A8YnI+CiAgZWNobyAmcXVvdDsmcXVvdDs8YnI+CiAgc3RhcnQ8YnI+CiAgZWNobyAmcXVvdDsmcXVvdDs8YnI+Cn08YnI+Cjxicj4KIyMgaW5mbzxicj4KZnVuY3Rpb24gaW5mbygpezxicj4KICBlY2hvICZxdW90O0luZm86IHJlZGlzIGluZm8uLi4mcXVvdDs8YnI+CiAgaWYgWyAtZiAkUElERklMRSBdO3RoZW48YnI+CiAgICAgICRSRURJU19DTEkgaW5mbzxicj4KICBlbHNlPGJyPgogICAgIGVjaG8gJnF1b3Q7JFBJREZJTEUgZG9lcyBub3QgZXhpc3QsIHByb2Nlc3MgaXMgbm90IHJ1bm5pbmcmcXVvdDs8YnI+CiAgZmk8YnI+Cn08YnI+Cjxicj4KIyMgc3RhdHVzPGJyPgpmdW5jdGlvbiBzdGF0dXMoKXs8YnI+CiAgUkVESVNfU0VSVkVSX0NPVU5UPSZxdW90O2BuZXRzdGF0IC1ubHRwIA==" grep redis-server | wc -l`"
if [ -f $PIDFILE ] && [ "${REDIS_SERVER_COUNT}" -gt 0 ]
then
echo "Info: redis is running."
elif [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
elif [ "${REDIS_SERVER_COUNT}" -eq 0 ]
then
echo "Redis is not listening any port."
fi

}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
info)
info
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|info|status}"

esac

########################## redis的作業系統服務指令碼內容結束(redis_service_script)#########################################

第四部分

本文參考的資料連結地址:

Redis安裝: http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3117997.html

Redis安裝: http://blog.chinaunix.net/uid-790245-id-3766268.html

CallSend SMSAdd to SkypeYou'll need Skype CreditFree via Skype

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.