搭建Camunda工作流引擎的生产环境

Camunda是一个业界著名的工作流引擎平台,其7.0社区版可以提供免费的工作流平台。这里记录以下搭建一个生产环境的过程

下载Camunda的运行环境

从以下网址下载最新的7.17版本, https://downloads.camunda.cloud/release/camunda-bpm/run/7.17/

下载到本地目录中

配置一个独立的数据库

Demo环境是运行自带的H2数据库,生产环境建议连接到一个独立的数据库。这里我选择的是Postgres,创建一个名为camunda的数据库。

获取Liquibase的镜像,docker pull liquibase/liquibase,然后运行以下命令,其中/local/camunda-sql-scripts-7.17.0/liquibase存放了changelog的文件

docker run --rm -v /local/camunda-sql-scripts-7.17.0/liquibase:/liquibase/changelog liquibase/liquibase --url="jdbc:postgresql://192.168.0.105:5432/camunda" --changeLogFile=camunda-changelog.xml --username=roy --password=123456 update

运行psql,连接到camunda数据库,在目录camunda-sql-scripts-7.17.0/liquibase/baseline中存放了各个数据库对应的sql文件,找到postgres对应的两个文件,然后在psql里面通过\i命令来安装运行这两个文件,这样就在PG里面创建了对应的数据表。

把pg的jdbc driver文件放到camunda目录的configuration/userlib目录下

配置Nginx反向代理

生产环境可以配置多个工作流引擎来进行负荷分摊,这时我们需要配置一个Nginx作为反向代理。另外当我们的Web前端需要调用工作流引擎的API时,会遇到跨域访问的问题,这时也需要在Nginx里面配置Reponse Header,加上允许跨域访问的设置。

在production.yml文件里面虽然也有增加跨域访问的配置,但是我发现修改了之后好像还是不行,可能有些地方的设置还不太了解,为了简便起见,还是在Nginx里面做设置吧。

编辑/etc/nginx/sites-available/default,在server里面增加以下配置:

add_header Access-Control-Allow-Origin http://127.0.0.1:5500 always;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS always;
add_header Access-Control-Allow-Credentials true always;
add_header Access-Control-Allow-Headers DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Authorization,token;
add_header Access-Control-Max-Age 1728000 always;

if ($request_method = OPTIONS) {
     return 204;
}

location / {
     try_files $uri $uri/ =404;
}

location /camunda {
     proxy_pass http://localhost:8080;
}

location /camunda/engine-rest {
     proxy_pass http://localhost:8080/engine-rest;
}

修改生产环境配置

在camunda的configuration目录下有一个production.yml文件,修改里面的spring.datasource如下例子:

spring.datasource:
  url: jdbc:postgresql://192.168.0.105:5432/camunda
  driver-class-name: org.postgresql.Driver
  username: roy
  password: 123456

注释掉run里面cors的相关配置,因为已经在nginx里面做过设置了。Server里面的ssl配置也可以注释掉,因为可以通过nginx来统一配置。

最后运行camunda目录下的start.sh --production即可启动生产环境,然后进入http://localhost/camunda即可访问

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gzroy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值