快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

java前后端分离项目部署-创新互联

一、Window环境部署 前端部署

1、首先打包项目:

成都创新互联是一家集网站建设,兰西企业网站建设,兰西品牌网站建设,网站定制,兰西网站建设报价,网络营销,网络优化,兰西网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

npm run build;

2、配置nginx

Vue项目的入口是index.html,nginx路由必须要经过这个文件,所以要配置nginx.conf文件。

找到localhost,添加一行代码 try_files $uri $uri/ /index.html last;

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

3、重启nginx

nginx.exe -s restart

后端部署

1、打包项目

mvn clean package -Dmaven.test.skip=true

2、启动项目即可

java -jar vueblog-0.0.1-SNAPSHOT.jar --spring.profiles.active=default
二、Linux 环境部署

1、配置后端项目在生产环境的yml

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://mysql:3306/simple_blog?&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
    username: root
    password: 123456

mybatis-plus:
  mapper-locations: classpath:/mapper/*.xml
#  configuration:
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

shiro-redis:
  enabled: true
  redis-manager:
    host: redis:6379

因为mysql和redis和后端项目都是在同一网络下编排的,所以可以用编排的名称来代替指定的ip地址

2、打包后端项目

mvn clean package -Dmaven.test.skip=true

3、编写Dockerfile构建后端镜像

FROM java:8
EXPOSE 8081
ADD simpleBlog-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java", "-jar", "app.jar", "--spring.profiles.active=pro"]

注意:如果项目中第三方服务都已经部署好在其他服务上的,则只需在后端项目中配置好指定的地址即可,剩下的步骤的都是基于所有服务都是在同一个linux服务器上的

4、编写docker-compose.yml

version: "3"
services:
  nginx: 
    image: nginx:latest  
    ports:
    - 80:80  
    volumes: 
    - ./nginx/html:/usr/share/nginx/html
    - ./nginx/nginx.conf:/etc/nginx/nginx.conf
    privileged: true 
    image: mysql:8.0.29-oracle
    ports:
    - 3306:3306
    volumes:
      - ./mysql/data:/var/lib/mysql
      - ./mysql/config/my.cnf:/etc/my.cnf
    environment: 
      - MYSQL_ROOT_PASSWORD=123456
  redis:
    image: redis:latest
  vueblog:
    image: vueblog:latest
    build: . 
    ports:
    - 8081:8081

mysql和nginx都是用数据卷来挂载在宿主机外面的,不然每次启动容器都会丢失上次的数据和已经配置好的前端项目。

nginx: 首先在宿主机内创建html文件夹,然后把前端项目打包好的dist文件夹的文件全部放在html文件夹上,然后修改nginx.conf

mysql:首先创建data和config文件夹,然后在config文件夹上创建my.cnf文件。

nginx.conf

#user  root;
worker_processes  1;
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;
      }
  }
}

my.cnf

[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

5、把准备的文件上传到同一目录下

在这里插入图片描述

6、运行指令进行项目编排,出现下图内容

docker-compose up -d

在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:java前后端分离项目部署-创新互联
转载来于:http://6mz.cn/article/dcpdps.html

其他资讯