部署服务相关

JAVA部署

1、服务器环境部署

安装相关环境参数

################Java篇################
#安装Java8
yum install java-1.8.0-openjdk* -y
#安装完成后验证
java -version

################Redis篇################
#安装Redis
yum install redis

#开机启动
chkconfig redis on

#编辑配置文件
vim /etc/redis.conf

#修改后台运行模式
daemonize yes

#启动
service redis start

################Nginx篇################
#安装Nginx
sudo yum install nginx

#设置开机自动启动
sudo systemctl enable nginx

#运行nginx
sudo systemctl start nginx

#nginx配置文件nginx.config校对命令
nginx -t

#nginx重启命令
nginx -s reload

2、Nginx

nginx -s reload 重启ngingx (修改配置文件后重启 nginx生效)
在主nginx 配置文件中 引用对应的服务的nginx配置文件(/etc/nginx/nginx.cong)

在这里插入图片描述

.conf文件 示例
#前端接口
    server {
	listen    80;
   	 server_name xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.com.cn; $自己的域名
	location / {
	    proxy_pass http://127.0.0.1:8802;
	    proxy_set_header        X-Real-IP $remote_addr;
	    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
	}
	location ^~ /api {
	    proxy_pass http://127.0.0.1:8082;
	    proxy_set_header        X-Real-IP $remote_addr;
	    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
	}
    }
#后台
    server {
    	listen       80;
	server_name xxxxxxxxxxxxxxxxxxxxxxxxxxx.com.cn; $自己的域名
	location / {
	    root   /opt/vue/tip/dist;
	    index  index.html index.htm;
	    if (!-e $request_filename) {
	        rewrite ^(.*)$ /index.html?s=$1 last;
		break;
	    }
	}
	location ^~ /system {
		proxy_pass              http://127.0.0.1:8801/system;
		proxy_set_header        Host 127.0.0.1;
		proxy_set_header        X-Real-IP $remote_addr;
		proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
	}
    }

在这里插入图片描述

3、多环境部署 Shell脚本

命令:在这里插入代码片 sh /(+你的路径)/runJar.sh restart + 模块名

例如 .sh 路径是 /opt/webapps/tip 模块名是tip-admin(注意这里不是jar包名,是sh文件中jar对于的模块名)

​ sh /opt/webapps/tip/runJar.sh restart tip-admin


#! /bin/sh
#环境()
ACTIVE=test
# 端口号
PORTS=(8801 8802)
# 系统模块
MODULES=(tip-admin tip-api-portal)
# 系统模块名称
MODULE_NAMES=(tip管理后台 tip前端接口)
# jar包数组(一定要写完整的jar包名)
JARS=(tip-admin.jar tip-api-portal.jar) 
# jar包路径
JAR_PATH='/opt/webapps/tip'
# 日志路径
LOG_PATH='/opt/webapps/tip'
start() {
  local MODULE=
  local MODULE_NAME=
  local JAR_NAME=
  local command="$1"
  local commandOk=0
  local count=0
  local okCount=0
  local port=0
  for((i=0;i<${#MODULES[@]};i++))
  do
    MODULE=${MODULES[$i]}
    MODULE_NAME=${MODULE_NAMES[$i]}
    JAR_NAME=${JARS[$i]}
    PORT=${PORTS[$i]}
    if [ "$command" == "all" ] || [ "$command" == "$MODULE" ];then
      commandOk=1
      count=0
      PID=`ps -ef |grep $(echo $JAR_NAME | awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`
      if [ -n "$PID" ];then
        echo "$MODULE---$MODULE_NAME:已经运行,PID=$PID"
      else
        exec nohup java -server -jar $JAR_PATH/$JAR_NAME --spring.profiles.active=$ACTIVE >> $LOG_PATH/$JAR_NAME.out &
        PID=`netstat -apn | grep $PORT | awk '{print $7}' | cut -d/ -f 1`
        while [ -z "$PID" ]
        do
          if (($count == 30));then
            echo "$MODULE---$MODULE_NAME:$(expr $count \* 10)秒内未启动,请检查!"
            break
          fi
          count=$(($count+1))
          echo "$MODULE_NAME启动中.................."
          sleep 10s
          PID=`netstat -apn | grep $PORT | awk '{print $7}' | cut -d/ -f 1`
        done
        okCount=$(($okCount+1))
        echo "$MODULE---$MODULE_NAME:已经启动成功,PID=$PID"
      fi
    fi
  done
  if(($commandOk == 0));then
    echo "第二个参数请输入:mcht|system|user|act"
  else
    echo "............本次共启动:$okCount个服务..........."
  fi
}
 
stop() {
  local MODULE=
  local MODULE_NAME=
  local JAR_NAME=
  local command="$1"
  local commandOk=0
  local okCount=0
  for((i=0;i<${#MODULES[@]};i++))
  do
    MODULE=${MODULES[$i]}
    MODULE_NAME=${MODULE_NAMES[$i]}
    JAR_NAME=${JARS[$i]}
    if [ "$command" = "all" ] || [ "$command" = "$MODULE" ];then
      commandOk=1
      PID=`ps -ef |grep $(echo $JAR_NAME | awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`
      if [ -n "$PID" ];then
        echo "$MODULE---$MODULE_NAME:准备结束,PID=$PID"
        kill -9 $PID
        PID=`ps -ef |grep $(echo $JAR_NAME | awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`
        while [ -n "$PID" ]
        do
          sleep 3s
          PID=`ps -ef |grep $(echo $JAR_NAME | awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`
        done
        echo "$MODULE---$MODULE_NAME:成功结束"
        okCount=$(($okCount+1))
      else
        echo "$MODULE---$MODULE_NAME:未运行"
      fi
    fi
  done
  if (($commandOk == 0));then
    echo "第二个参数请输入:mcht|system|user|act"
  else
    echo "............本次共停止:$okCount个服务............"
  fi
}
 
 
case "$1" in
  start)
    start "$2"
  ;;
  stop)
    stop "$2"
  ;;
  restart)
    stop "$2"
    sleep 3s
    start "$2"
  ;;
  *)
    echo "第一个参数请输入:start|stop|restart"
    exit 1
  ;;
esac

4、一键部署 使用AlibabaClould Toolkit

1.安装插件AlibabaClould Toolkit

在这里插入图片描述

2.选择服务器并填写相关信息

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210104153342757.png在这里插入图片描述

3.选择上传操作

在这里插入图片描述

完整示例
java在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值