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