SpringBoot+Vue前后端分离项目自动化部部署(文档内的路径自行参照修改)

maven打包命令

mvn package -Dmaven.test.skip=true

npm打包生产命令(不使用传统npm,解决静态资源无法访问问题)

方案一

  1. 使用vite创建项目 npm create vite@latest
  2. 配置vite.config.js文件中的 base(主要应对nginx静态资源无法获取的问题)
  3. 编译静态文件命令: vite build
  4. 更多用户参见这里

方案二

使用nginx sub_filter配置,重写静态资源路径

方案三

使用publicpath(较简单)

配置nginx

server {
    listen   80;
    server_name   124.0.0.0;

    location /admin/ {
        root /var/www/bugsys/;
        try_files $uri $uri/ /index.html;
        }

    location /customer/ {
        root /var/www/bugsys/;
        try_files $uri $uri/ /index.html;
        if ($request_filename ~* .*.(js|css|jpg|jpeg|gif|png|ico|svg|eot|woff|ttf|wasm|mp3)$) {
            expires    100d;
        }
        if ($request_filename ~* .*.(?:htm|html)$) {
            add_header Cache-Control 'no-store';
        }
        }

    location ^~ /api/ {
        proxy_pass  http://127.0.0.1:8300; # 转发规则
        proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

配置linux服务

把xxx.service文件放到/etc/systemd/system
[Unit]
Description=bugsys
After=syslog.target

[Service]
User=root
ExecStart=/opt/jdk-11.0.13/bin/java -jar /var/www/bugsys/api/bugsys.jar --spring.config.location=/var/www/bugsys/api/application.yml
SuccessExitStatus=143
StandardOutput=append:/var/www/bugsys/log/bugsys-api-systemd.log
StandardError=append:/var/www/bugsys/log/bugsys-api-systemd.error.log

[Install]
WantedBy=multi-user.target

编写自动化脚本

#! /bin/bash
# 自动化脚本示例

if [ $1 = 'api' ]
then

	cd /home/ubuntu/code/bugsys/api
	
	git pull
	
	mvn clean
	
	echo "*************** maven clean finish *************************"
	
	mvn package -Dmaven.test.skip=true
	
	sudo service bugsys stop
	
	rm -rf /var/www/bugsys/api/bugsys.jar
	
	cp target/bug_manager_system-0.0.1-SNAPSHOT.jar /var/www/bugsys/api/bugsys.jar
	
	sudo service bugsys start
	
	echo "API DEPLOY SUCCESS"
	
fi

if [ $1 = 'admin' ]
then
	cd /home/ubuntu/code/bugsys/web/admin-pc
	
	git pull
		
	npm run build

	sudo rm -rf /var/www/bugsys/admin

	sudo mv dist /var/www/bugsys/admin

	echo "WEB ADMIN DEPLOY SUCCESS"
fi

if [ $1 = 'customer' ]
then
        cd /home/ubuntu/code/bugsys/web/console-pc
	
	git pull

        npm run build

        sudo rm -rf /var/www/bugsys/customer

        sudo mv dist /var/www/bugsys/customer

	echo "WEB CUSTOMER DEPLOY SUCCESS"
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值