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

news2024/9/29 13:20:28

本教程基于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.coloradmin.cn/o/1485582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode---386周赛

题目列表 3046. 分割数组 3047. 求交集区域内的最大正方形面积 3048. 标记所有下标的最早秒数 I 3049. 标记所有下标的最早秒数 II 一、分割数组 这题简单的思维题,要想将数组分为两个数组,且分出的两个数组中数字不会重复,很显然一个数…

AI又进化了

B站:啥都会一点的研究生公众号:啥都会一点的研究生 一直想做但没做的板块,整理一段时间内AI领域的前沿动态(符合大多粉丝研究领域/感兴趣方向),了解了解外面世界发展成啥样了,一起看看吧~ 谷歌…

网关kong记录接口处理请求和响应插件 tcp-log-with-body的安装

tcp-log-with-body 介绍 Kong的tcp-log-with-body插件是一个高效的工具,它能够转发Kong处理的请求和响应。这个插件非常适用于需要详细记录API请求和响应信息的情景,尤其是在调试和排查问题时。 软件环境说明 kong version 2.1.4 - 2.8.3 [可用亲测]C…

8、Redis-Jedis、Lettuce和一个Demo

目录 一、Jedis 二、Lettuce 三、一个Demo Java集成Redis主要有3个方案:Jedis、Lettuce和Redisson。 其中,Jedis、Lettuce侧重于单例Redis,而Redisson侧重于分布式服务。 项目资源在文末 一、Jedis 1、创建SpringBoot项目 2、引入依赖 …

【PDF技巧】网上下载的pdf文件怎么才能编辑

不知道大家有没有遇到过网上下载的PDF文件不能编辑的情况,今天我们来详细了解一下导致无法编辑的原因即解决方法有哪些。 第一种原因:PDF文件中的内容是否是图片,如果确认是图片文件,那么我们想要编辑,就可以先使用PD…

《Improving Calibration for Long-Tailed Recognition》阅读笔记

论文标题 《Improving Calibration for Long-Tailed Recognition》 改进长尾识别的校准工作 作者 Zhisheng Zhong、 Jiequan Cui、Shu Liu 和 Jiaya Jia 香港中文大学和 SmartMore 初读 摘要 深度神经网络在训练数据集类别极度不平衡时可能会表现不佳。最近&#xff0c…

高中数学:函数的单调性

一、概念 二、单调区间的表示方法 注意 1、两个不相连的部分,单调性相同,则两个单调区间用逗号隔开,不能用∪号连接。 2、单调区间端点都用开区间表示,最安全。 三、常见题型 1、普通简单函数单调性判断 解题思路:画…

VueCli的安装与卸载

文章目录 一.Node安装包的报读网盘提取码二、Vue脚手架Cli三、Vue-CLI使用步骤(自定义安装)1.转换路径并创建项目2.创建步骤的解释(保姆级)3.等待vue项目自己创建好(保姆级) 四、通过npm对vue的安装与卸载 一.Node安装包的报读网盘提取码 下面的链接为地址: Node的百度网盘提取…

【操作系统(Operator System)】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、概念 二、结构示意图 三、尝试理解操作系统 系统调用和库函数概念 承上启下 总结 前言 世上有两种耀眼的光芒,一种是正在升起的太阳&#xff…

每日下载超1000万次,这个前端工具太有用了!

今天来分享一个前端必备的工具,其每天在 npm 上的下载量高达 1000 万次,几乎每个前端项目都在用,它就是 PostCSS。这款工具已经成为前端开发领域中不可或缺的一部分,之所以如此受欢迎,不仅是因为它能够帮助开发者自动化…

双周回顾#007 - 前端与后端

前端的问题不是难,而是它面对最终用户。只要用户的喜好和口味发生变化,前端就必须跟上。 这导致前端不得不快速变化,因为用户的口味正在越来越快地改变。 后端不需要面对最终用户,需要解决的都是一些经典的计算机科学问题&#…

智能的花火,照亮一座5G钢铁工厂的时代之舞

“东风夜放花千树。更吹落,星如雨。凤箫声动,玉壶光转,一夜鱼龙舞”,辛弃疾在《青玉案》中描绘的“打铁花”,是刚刚过去的春节假期中,全国各地都在上演的中式浪漫。 当铁水被击打向高空,犹如千万…

苍穹外卖学习 Day10 Day11 Day12

前言 用于记录苍穹外卖Day10、Day11、Day12的学习 Day10 订单状态定时处理 来电提醒 客户催单 订单状态定时处理 Spring Task Spring Task是一个任务调度工具,可以按照约定的时间自动执行某个代码逻辑(定时自动执行某段Java代码) cron表…

[GXYCTF2019]BabyUpload1 -- 题目分析与详解

目录 一、题目分析 1、判断题目类型: 2、上传不同类型的文件进行测试: 二、题目详解 1、写出.htaccess文件: 2、.htaccess 文件配合 .jpg 上传: 3、利用 中国蚁剑/中国菜刀 获取flag: 一、题目分析 1、判断题目…

亚马逊云科技实时 AI 编程助手 Amazon CodeWhisperer,开发快人一步

​ 亚马逊云科技:https://mic.anruicloud.com/url/1024 ​ Amazon CodeWhisperer 是一款 AI 编码配套应用程序,可在 IDE 中生成 整行代码和完整的函数代码建议,以帮助您更快地完成更多工作。在本系列 文章中,我们将为您详细介绍 A…

Cloud+Consul

Cloud整合Zookeeper代替Eureka-CSDN博客 Consul简介 Consul是一套开源的分布式服务发现和配置管理系统 What is Consul? | Consul | HashiCorp DeveloperConsul is a service networking solution that delivers service discovery, service mesh, and network security ca…

#WEB前端(CCS选择器)

1.实验&#xff1a;CCS选择器 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; 子代选择器、后代选择器、相邻兄弟选择器、类选择器、伪元素选择器&#xff08;鼠标悬停&#xff09;、ID选择器、调用选择器&#xff08;全选&#xff09; 4.代码&#xff1a; <!DOCTYPE html…

2024龙年特别篇 -- 魔法指针 之 指针变量

目录 ​编辑 字符指针变量 字符指针 字符数组 关于字符数组的试题 数组指针变量 数组指针 利用指针数组打印数组 打印二维数组 数组作为形参 当形参为指针时&#xff08;指针数组&#xff09; 函数指针变量 利用函数实现加法输出的多种方式 字符指针变量 字符指针 char …

超详细红黑树的模拟实现

前言 有人说设计出AVL树的的人是个大牛&#xff0c;那写红黑树&#xff08;RBTree&#xff09;的人就是天才&#xff01; 上一篇文章&#xff0c;我们已经学习了AVL树&#xff0c;牛牛个人认为AVL树已经够优秀了&#xff0c;那让我们一起探究一下&#xff0c;为什么红黑树比AV…

【C语言】InfiniBand 驱动mlx4_ib_init和mlx4_ib_cleanup

一、中文讲解 这两个函数是Linux内核模块中对于Mellanox InfiniBand 驱动程序初始化和清理的函数。 mlx4_ib_init()函数是模块初始化函数&#xff0c;使用__init宏标注&#xff0c;表示该函数只在模块加载时运行一次。 函数执行的步骤如下&#xff1a; 1. 通过alloc_ordered_w…