SmartAdmin于Docker 部署备忘

SVN 目录 导出一个干净的目录方法:

svn export .\ cleandir

即可

1.smartadmin API运行:port及虚拟路径改写后运行项目,可以出现/swagger-ui.html即可。

生成jar文件,需要:

  • 开发环境:mvn clean package -Dmaven.test.skip=true -P dev
  • 测试环境:mvn clean package -Dmaven.test.skip=true -P test
  • 预发布环境:mvn clean package -Dmaven.test.skip=true -P pre
  • 生产环境:mvn clean package -Dmaven.test.skip=true -P prod

项目默认的启动在根的pom中配置:

<activation>
    <activeByDefault>true</activeByDefault>
</activation>

正式上线前一定要到 base/prod/base.yaml 中设置跨域权限:

access-control-allow-origin: 'ip or hostname'

2.smartadmin 前端运行:安装nodejs,在目录里运行npm install后,npm run localhost  是本地调试

swagger api 调试:在web里拿到jwtcookie,进行测试。

3.打包 pre环境,执行 npm run build:pre,将程序拷贝到目标目录。

mysql5.7下载 :MySQL :: Download MySQL Community Server

注意:如果在这个jdk8的项目中,再加一个jdk17的项目,运行是可以的,但在打包的时候要注意了:

在MVN 生命周期命令package右键:修改运行配置,打开的窗口中选择jdk17,这时候MVN窗口就多了一个运行配置的 package,运行这个即可按jdk17的方式打包。

4.IDEA中新建 Dockerfile文件

FROM openjdk:8
EXPOSE 1024
VOLUME /tmp
ADD ./target/prod-admin.jar /prod-admin.jar
RUN bash -c 'touch /prod-admin.jar'
ENTRYPOINT ["java","-jar","/prod-admin.jar"]

把Dockerfile 及jar 上传到 服务器,运行:

docker build -t piaopiao:v1 .

docker run -d -p 1024:1024 --name piao --restart always piaopiao:v1

镜像必须是最后一个,执行过最自动启动了,不用再docker start piao

(上面加restart就不用这一行了)docker update piao --restart=always

前端VUE: 修改 .env.production中:

VITE_APP_API_URL = 'http://ip:1024/api'

运行:npm run build:dev

将dist 上传到服务器。

Nginx 配置如下:

server{
      listen 80; 
      server_name 111.222.3.4; 
      location / {
            alias /www/ppp/;
            try_files $uri $uri/ /index.html last;
            index  index.html;
            expires -1;
            #对于静态资源文件(非index.html首页)缓存 30天
            if ($request_filename ~* .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|css|js)$){
                  expires 30d;
            }
                }
         }
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值