1. 自动化脚本
#!/bin/bash
docker_mysql_container_id="9b208435496d"
docker_redis_container_id="287e7b4c221a"
nginx_install_dir="/usr/local/nginx"
echo "###############################启动docker及其容器###############################"
systemctl start docker.service
echo "当前docker容器状态:"
systemctl status docker | grep Active | awk '{print $2}'
echo "已经启动的docker容器编号:"
docker start ${docker_mysql_container_id}
docker start ${docker_redis_container_id}
echo "已经启动的docker容器名称:"
docker ps | awk '{print $NF}' | grep -v NAMES
echo "###############################启动nginx###############################"
cd ${nginx_install_dir}/sbin
./nginx
echo "nginx启动线程:"
ps -ef | grep nginx | grep -v grep
echo "###############################关闭防火墙###############################"
systemctl stop firewalld.service
echo "当前防火墙状态:"
systemctl status firewalld | grep Active | awk '{print $2}'
2. shell脚本自动化部署项目
- 依系统在Linux中的部署使用一个自动化部署脚本来编写
#!/bin/bash
back_dir=/work/hsa-com-fee-back
back_package_name=/work/hsa-com-fee-back/ruoyi-admin/target/ruoyi-admin.jar
front_dir=/work/hsa-com-fee-front
front_package_name=/work/hsa-com-fee-front/
package_dir=/work/package
branch=xuniji
echo "1-启动前端代码"
echo "2-启动后端代码"
read -t 30 -p "请输入启动选项:" selection
case $selection in
1)
cd ${front_dir}
git checkout ${branch}
git pull
npm run build:prod
rm -rf ${package_dir}/dist
cp -r -f dist ${package_dir}
;;
2)
cd ${back_dir}
git checkout ${branch}
git pull
mvn install -Dmaven.test.skip=true
jar_name=$(basename ${back_package_name})
rm -rf ${package_dir}/${jar_name}
cp ${back_package_name} ${package_dir}
cd ${package_dir}
PROCESS=`ps -ef|grep ${jar_name}|grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
do
echo "Kill the $1 process [ $i ]"
kill -9 $i
done
nohup java -jar ${jar_name} > log.txt 2>&1 &
;;
esac
3. 配置nginx访问若依系统
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 9010;
server_name localhost;
location / {
root /work/package/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:32010/;
}
}
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}