一键启动jar,redis,nginx 的shell脚本

因为我比较懒,所以搞个shell脚本,欢迎大家改进。
要用的话改个前三段程序所在的目录变量就行。
①可以一起启动三个;
②如果这三个某一两个启动着,也不会再次启动。
干,启动jar包的地方有问题,成功失败都显示成功,暂时没有想到解决办法。

jar_name=xxx.jar
jar_path=/usr/local/xxx
log_path=/usr/local/xxx/logs/`date +%y-%m-%d`_out.log

#指定redis_server以及配置文件目录,配置文件名称必须为redis.conf
rServer_path=/usr/local/redis/src
rConf_path=/usr/local/redis

#指定nginx以及配置文件目录,以实际目录为主
nServer_path=/usr/local/nginx/sbin
nConf_path=/usr/local/nginx/conf

#指向自定义jdk
#export JAVA_HOME=/usr/local/jdk1.8.0_161
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
#export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

startJar(){
  echo "润之正在启动${jar_name},请稍后"
  pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
  if [ -z $pid ]; then
    cd $jar_path
    nohup java -jar $jar_name >$log_path 2>&1 &	
    sleep 5
    pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
    if [ -z $pid ]; then
        echo "jar包启动失败"
    else
	pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
	echo "${jar_name}启动成功,pid=${pid3}"
	echo ""
	echo "所有程序部署完毕!"
    fi
  else
    echo "应用${jar_name} 不需要启动,其已经处于运行状态,pid = ${pid}"
  fi
}


startNginx(){
  echo "润之正在启动nginx,请稍后"
  pid=$(ps -ef|grep nginx|grep master|awk '{print $2}')
  if [ -z $pid ]; then
     
    cd $nServer_path
    ./nginx -c ${nConf_path}/nginx.conf

    sleep 0.5
    pid=$(ps -ef|grep nginx|grep master|awk '{print $2}')
    echo $pid 
    if [ -z $pid ]; then
        echo "nginx启动失败"
    else
	echo "nginx启动成功,主进程pid=${pid}"
    fi

  else
    echo "应用nginx不需要启动,其已经处于运行状态,主进程pid = ${pid}"
  fi
  echo ""

  sleep 2
  startJar
}



startRedis(){
  echo "润之正在启动redis,请稍后"
  pid=$(ps -ef | grep redis | grep -v grep | awk '{print $2}')
  if [ -z $pid ]; then
     
    cd $rServer_path
    ./redis-server  ${rConf_path}/redis.conf

    sleep 0.5
    pid=$(ps -ef | grep redis | grep -v grep | awk '{print $2}')
    if [ -z $pid ]; then
        echo "redis启动失败"
    else
	echo "redis启动成功,pid=${pid}"
    fi

  else
    echo "应用reids不需要启动,其已经处于运行状态,pid = ${pid}"
  fi
  echo ""

  sleep 2
  startNginx
}

startRedis
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RedisNginx都是常见的网络服务,它们在Windows上可以通过安装相应的软件包并配置启动脚本来自动运行。这里是一个简化的介绍: **Redis启动脚本(Windows):** 1. **安装Redis**: 可以从Redis官方网站下载适用于Windows的安装包(如`redis.windows-service.tgz`),然后双击安装。安装后,通常会在`C:\Program Files\redis`或类似路径下创建一个目录。 2. **配置服务**: 安装完成后,可以在命令行中找到`redis-server.exe`,使用`redis.windows-service.exe`工具将服务注册为Windows服务,例如: ``` redis.windows-service.exe install --service-name=RedisService ``` 3. **启动/停止服务**: 使用`net start RedisService`启动,`net stop RedisService`停止。 **Nginx启动脚本(Windows):** 1. **下载Nginx**: 可从Nginx官网下载适用于Windows的压缩包(如`nginx-Win64.zip`)。 2. **解压并配置**: 解压到一个目录(如`C:\nginx\nginx-xxx`),编辑`nginx.conf`文件来适应你的需求。 3. **安装为Windows服务**: 在安装目录下找到`nginx.exe`,通常在`nginx-xxx\nginx.exe`,使用`nginx-install.exe`将其设置为服务,例如: ``` nginx-install.exe -y -s "start" ``` 4. **启动/停止服务**: 同样,使用`net start nginx`启动,`net stop nginx`停止。 **相关问题--:** 1. 如何检查Windows上的Redis服务状态? 2. Nginx Windows版配置文件`nginx.conf`有哪些重要设置? 3. Nginx服务无法启动时可能遇到哪些常见问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值