maven打包命令
mvn package -Dmaven.test.skip=true
npm打包生产命令(不使用传统npm,解决静态资源无法访问问题)
方案一
- 使用vite创建项目 npm create vite@latest
- 配置vite.config.js文件中的 base(主要应对nginx静态资源无法获取的问题)
- 编译静态文件命令: vite build
- 更多用户参见这里
方案二
使用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