Ubuntu 从安装到设置Redis、MongoDB开机启动脚本的一条龙服务

2 篇文章 0 订阅
1 篇文章 0 订阅

Redis(安装篇):

1.创建文件夹:

mkdir /opt/download/

2.下载解压包:

wget http://download.redis.io/releases/redis-4.0.11.tar.gz

3.解压:

tar -zxvf redis-4.0.11

4.进入、编译:

cd redis-4.0.11/
sudo make
sudo make install

5.启动:

redis-server

Redis(脚本启动篇):
声明:前提是已经正确安装Redis
步骤:

1.把redis.conf配置文件拷贝到/etc目录下 

cp /opt/download/redis-4.0.11/redis.conf /etc/

 2.如果想设置远程访问,那么请修改配置文件,不想请跳过,vim /etc/redis.conf,按照以下设置修改:

daemonize no                         # no 改为 yes,意思是打开后台运行选项
logfile "/var/log/redis/redis.log"   # 默认是不写入日志的,写入日志对调试有用
bind 127.0.0.1                       # 如果需要远程连接redis,请注释掉这行
protected-mode yes                   # 如果需要远程连接redis,yes 改为 no,意思是保护模式关闭

3.写脚本,vim /etc/init.d/redis,写入以下内容:

#!/bin/sh
### BEGIN INIT INFO
# Provides: OSSEC HIDS
# Required-Start: $network $remote_fs $syslog $time
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OSSEC HIDS
### END INIT INFO

PATH=/usr/local/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF="/etc/redis.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
            echo "$PIDFILE exists, process is already running or crashed."
        else
            echo "Starting Redis server..."
            $EXEC $CONF
        fi
        if [ "$?"="0" ]
        then
            echo "Redis is running..."
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
            echo "$PIDFILE exists, process is not running."
        else
            PID=$(cat $PIDFILE)
            echo "Stopping..."
            $REDIS_CLI -p $REDISPORT SHUTDOWN
            while [ -x $PIDFILE ]
            do
                echo "Waiting for Redis to shutdown..."
                sleep 1
            done
            echo "Redis stopped"
        fi
        ;;
    restart|force-reload)
        ${0} stop
        ${0} start
        ;;
    *)
        echo "Usage: /etc/init.d/redis {start|stop|restart|fore-reload}"
        exit 1
esac

需要注意的是:

PATH、REDISPORT、EXEC、REDIS_CLI、PIDFILE、CONF这些参数有可能不一样,根据自己的配置对应修改就好了。

4.添加脚本的执行权限:

sudo chmod +x /etc/init.d/redis

5.设置开机自动启动:

sudo update-rc.d redis defaults

6.重启机器:

reboot

7.到此就可以愉快的使用指令操控redis了:

service redis start    # 启动redis
service redis stop     # 关闭redis
service redis restart  # 重启redis
service redis status   # 查看redis

8.如果你使用的是阿里云ubuntu,那么以上做得还不够,远程依旧访问不了,因为还需要添加安全组才能远程连接成功,具体如下:

MongoDB(脚本启动篇)
声明:前提是已经正确安装MongoDB
步骤:

一定要按照步骤来走,不然会出现"/etc.init.d/mongod" E212: Can't open file for writing"

1.进入/etc/init.d

cd /etc/init.d

2.写脚本,sudo vim mongod,写入以下内容:

#!/bin/sh 
### BEGIN INIT INFO
# Provides:     mongodb
# Required-Start:
# Required-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
 
EXE_FILE=/usr/bin/mongod
CONFIG_FILE=/etc/mongodb.conf
 
. /lib/lsb/init-functions
MONGOPID=`ps -ef| grep mongod| grep -v grep| awk '{print $2}'`
test -x $EXE_FILE || exit 0
 
case "$1" in
  start)
    ulimit -n 3000
    log_begin_msg "Starting MongoDB server"
    $EXE_FILE --config $CONFIG_FILE
    log_end_msg 0
    ;;
  stop)
    log_begin_msg "Stopping MongoDB server"
    if [ ! -z "$MONGOPID" ]; then
        kill -15 $MONGOPID
    fi
    log_end_msg 0
    ;;
  status)
    ps -aux| grep mongod
    ;;
  *)
    log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
    exit 1
esac
 
exit 0

需要注意的是:EXE_FILE、CONFIG_FILE这些参数有可能不一样,根据自己的配置对应修改就好了。

3.添加脚本的执行权限:

sudo chmod 755 mongod

4.设置开机启动:

sudo update-rc.d mongodb defaults
sudo update-rc.d -f mongodb remove

5.重启机器:

reboot

6.到此又可以愉快的使用指令操控redis了:

service mongod start    # 启动mongodb
service mongod stop     # 关闭mongodb
service mongod restart  # 重启mongodb
service mongod status   # 查看mongodb

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值