前后端分离项目线上发布

简介: 前后端分离项目线上发布

1、前端打包

npm run build

1.1在Linux服务器新建nginx文件夹

  • 在nginx在新建立html文件夹用来放前端页面

image.png

1.2将前端打包的数据上传到html文件夹

image.png

2.后端Dockerfile编写

FROM java:8
EXPOSE 8080
# ADD 后面是项目名称
ADD vueblog-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'

ENTPYPOINT ["java","-jar","/app.jar","--spring.profiles.active=pro"]

3.docker-compose.yml

version: '3'

services:
  nginx:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
    - /root/nginx/html:/usr/share/nginx/html
    - /root/nginx/nginx.conf:/usr/share/nginx/nginx.conf
      privileged:true
  mysql:
    image: mysql:5.7.27
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=564929
  redis:
    image: redis:latest
    ports:
      - 6379:6379
  vueblog:
    image: vueblog:latest
    build: .
    ports:
      - 8080:8080
    depends_on:
      - mysql
      - redis

4.配置nginx

  • 在nginx目录下新建立nginx.conf文件
touch nginx.conf
  • vim nginx.conf
  • 利用vim输入下面内容
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;


        location / {
            root  /usr/share/nginx/html;
            try_files $uri $uri/ /index.html last;
            index index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

5.上传项目

image.png

同一个目录下,进行打包,最好是单独建立一个文件夹,防止遇到bug

6.开始编译项目

docker-compose up -d

最后启动成功,看到一堆done

注意事项
  • nginx.conf务必配置好
  • docker-compose up -d执行在在项目、和镜像配置文件夹中进行,不然容易报错误,直接在根目录下编译不行
  • 打开安全组,建立数据库,导入表和数据
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Linux Shell 网络安全
Linux命令之less
Linux命令 less
771 1
|
安全 网络协议 网络虚拟化
[ 网络协议篇 ] vlan 详解之 vlan if 详解
[ 网络协议篇 ] vlan 详解之 vlan if 详解
3935 0
[ 网络协议篇 ] vlan 详解之 vlan if 详解
|
10月前
|
uml C语言
系统时序图
时序图(Sequence Diagram)是UML中描述对象间消息传递时间顺序的交互图。横轴为对象,纵轴为时间,通过消息展现动态协作。强调时间顺序,可用于建模系统交互、展示并发进程。主要元素包括角色、对象、生命线、控制焦点和各类消息,如同步、异步与返回消息,支持自关联调用,直观呈现系统行为流程。
系统时序图
|
弹性计算 运维 负载均衡
阿里云渠道商:如何用阿里云EIP构建高可用容灾架构?
阿里云弹性公网IP(EIP)可独立持有、灵活绑定,实现与云资源解耦,支持分钟级故障切换。结合SLB、HaVip及全球加速,构建高可用容灾架构,保障金融、电商等关键业务连续性,提升可用性至99.95%以上。
|
前端开发 JavaScript
【项目笔记】:elementui下拉框数据太多造成页面卡顿怎么解决?
针对前端下拉框数据过多造成页面卡顿,元芳你怎么看?
1200 2
|
Go 调度
Golang语言goroutine协程篇
这篇文章是关于Go语言goroutine协程的详细教程,涵盖了并发编程的常见术语、goroutine的创建和调度、使用sync.WaitGroup控制协程退出以及如何通过GOMAXPROCS设置程序并发时占用的CPU逻辑核心数。
1190 4
Golang语言goroutine协程篇
|
存储 算法 关系型数据库
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)
这篇文章主要介绍了多路查找树的基本概念,包括二叉树的局限性、多叉树的优化、B树及其变体(如2-3树、B+树、B*树)的特点和应用,旨在帮助读者理解这些数据结构在文件系统和数据库系统中的重要性和效率。
499 0
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)

热门文章

最新文章