部署bpmn项目实现activiti流程图的在线绘制

news/2024/5/19 1:38:58 标签: 流程图

本教程基于centos7.6环境中完成

  • github开源项目: https://github.com/Yiuman/bpmn-vue-activiti
  • 软件:git、docker

1. 下载源代码

git clone https://github.com/Yiuman/bpmn-vue-activiti.git

2. 修改Dockerfile文件

在这里插入图片描述

声明基础镜像,将项目打包,把文件复制到nginx的静态文件目录

# 使用Node.js作为基础镜像
FROM node:16.0.0-alpine as build-stage

# 设置工作目录
WORKDIR /app

# 复制 package.json 和 package-lock.json 文件到工作目录
COPY package*.json ./

# 安装项目依赖
RUN npm install --legacy-peer-deps

# 复制项目文件到工作目录
COPY . .

# 构建生产环境的静态文件
RUN npm run build

# 使用Nginx作为基础镜像
FROM nginx:1.21-alpine

# 将Vue项目的构建结果复制到Nginx的默认静态文件目录
COPY --from=build-stage /app/dist /usr/share/nginx/html

# 复制自定义的Nginx配置文件(如果有)
COPY nginx.conf /etc/nginx/nginx.conf

# 暴露容器的端口(如果需要)
EXPOSE 80

# 启动Nginx服务
CMD ["nginx", "-g", "daemon off;"]

3. nginx配置文件(不用改)

在这里插入图片描述

这里主要是配置当我们访问容器的80端口时,nginx将我们的请求转发到项目文件中

  #user  nobody;
  worker_processes  1;
  events {
      worker_connections  1024;
  }
  http {
      include       mime.types;
      default_type  application/octet-stream;
      sendfile        on;
      #tcp_nopush     on;
      #keepalive_timeout  0;
      keepalive_timeout  65;
      #gzip  on;
      gzip on;

      server {
          listen  80;
          #前端
          location / {
              index index.html index.htm;   #添加属性。
              root /usr/share/nginx/html;   #站点目录
          }
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
              root   /usr/share/nginx/html;
          }
      }
  }

4. 制作docker镜像

注意命令的最后有一个.

docker build -t bpmn-activiti .
  • -t bpmn-activiti :用于给构建的镜像指定一个名称
  • . :这是构建上下文的路径。Docker 将在当前目录下查找 Dockerfile 和构建上下文中的文件,并将其用于构建镜像

镜像制作完成之后可以利用docker images命令查看镜像
在这里插入图片描述

5. 运行docker容器

docker run --name bpmn-activiti -p 8089:80 -d bpmn-activiti
  • –name bpmn-activiti 指定容器名称
  • -p 8089:80 端口映射,其中8089是宿主机端口,80是容器内的端口
  • -d 代表在后台运行
  • bpmn-activiti 代表镜像名称

6. 开放防火墙端口

// 开放8089端口
firewall-cmd --zone=public --add-port=8089/tcp --permanent
// 重启防火墙
firewall-cmd --reload
// 查看所有开放的端口
firewall-cmd --list-ports

7. 浏览器访问

在浏览器访问公网IP:8089@TOC
在这里插入图片描述


http://www.niftyadmin.cn/n/5396941.html

相关文章

集合详解-迭代器遍历-增强for-List集合-List五种遍历方式-Set集合-排序规则Comparable-双列集合

Collection集合 数组和集合的区别 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 Collection 集合概述和使用 Collection…

关于Axios接口请求超时处理与重试的方法教程

在前端开发中,使用Axios作为HTTP客户端库进行接口请求是非常常见的做法。然而,在实际开发中,我们经常会遇到网络不稳定或服务器响应缓慢导致接口请求超时的情况。为了提高用户体验和程序的稳定性,我们需要实现接口请求超时的处理与…

项目流程图

实现便利店自助付款项目 服务器: 1、并发服务器(多进程、多线程、IO多路复用) 2、SQL数据库的创建和使用(增删改查) 3、以模块化编写项目代码,按照不同模块编写.h/.c文件 客户端: 1、QT客户端界…

图搜索基础-深度优先搜索

图搜索基础-深度优先搜索 参考原理引入流程解析手推例子 代码实现运行结果结果分析 参考 理论参考:深蓝学院 实现参考:github项目 原理 引入 对于这样一个图,我们试图找到S到G的通路: 计算机程序不会像人眼一样,一…

数据仓库 vs. 数据湖:解析两者的区别与优劣

在当今数字化时代,数据成为了企业最宝贵的资产之一。为了更好地管理和利用数据,企业需要建立合适的数据存储和管理系统。在这个过程中,数据仓库和数据湖成为了两种常见的选择。虽然它们都旨在帮助企业管理数据,但在实际应用中&…

[OpenCv]初识——图像的基本处理

目录 前言 一、环境搭建 1.python包的下载 2.Pycharm下载 1.进入官网 2.下载并安装pycharm 二、初识OpenCV 1.OpenCV介绍 2.图片读取,电脑眼里的图片 3.RGB颜色通道的获取 4.图像填充 5.图像融合 6.图像阈值 三、完整代码演示: cat.jpg d…

Scala Intellij编译错误:idea报错xxxx“is already defined as”

今天写scala代码时,Idea报了这样的错误,如下图所示: 一般情况下原因分两种: 第一是我们定义的类或对象重复多次出现,编译器无法确定使用哪个定义。 这通常是由于以下几个原因导致的: 重复定义:在同一个文件…

[FastDDS] 基于eProsima FastDDS的移动机器人数据中间件——介绍与准备工作

[FastDDS] 基于eProsima FastDDS的移动机器人数据中间件——介绍与准备工作 注明:无 本栏目主要讲述,基于eProsima FastDDS的移动机器人数据中间件的实现、使用、性能测试。 What is [ FastDDS ]: eProsima Fast DDS是DDS(数据分发服务&…