Ferry工单平台部署

简介

官网:https://www.fdevops.com/docs/ferry-tutorial-document
工作流创建指引:https://www.fdevops.com/docs/ferry-tutorial-document/work-order/create-new-process
平台是由go语言开发的,整体而言工单流程这块可以使用,UI也比较漂亮。

操作注意事项

任务管理:
添加shell/python脚本需要主要首行添加解释器才能执行脚本,否则报错
shell:#!/bin/bash
python: #!/usr/bin/python3

任务管理–脚本存放路径:
/data/ferry/static/scripts

文件/图片上传目录,与用户头像存储:
/data/ferry/static/uploadfile

后端采用go语言部署

# 1. 拉取代码,
git clone https://gitee.com/yllan/ferry.git
  
# 2. 进入工作路径
cd ferry
  
# 3. 交叉编译(centos)
env GOOS=linux GOARCH=amd64 go build
更多交叉编译内容,请访问 https://www.fdevops.com/2020/03/08/go-locale-configuration
  
# 4. config目录上传到项目根路径下,并确认配置信息是否正确
vim config/settings.yml
  1). 修改为自己的数据库信息
  2). 修改为自己的邮件服务器地址
其他的根据情况来修改调整
  
# 4. 创建日志路径及静态文件经历
mkdir -p logs static/uploadfile static/scripts static/template
  
# 5. 将本地项目下static/template目录下的所有文件上传的到,服务器对应的项目目录下static/template
  
# 6. 连接数据库,并创建数据库(5.7版本以上,因为使用了json数据类型)
create database ferry charset 'utf8mb4';
  
# 7. 初始化数据
./ferry init -c=config/settings.yml
  
# 8. 启动程序,推荐通过"进程管理工具"进行启动维护
nohup ./ferry server -c=config/settings.yml > /dev/null 2>&1 &

config/settings.yaml配置介绍

script: # 任务脚本存放路径,实现原理是前端填写脚本直接创建文件到该目录,不可能支持多节点
  path: ./static/scripts
settings:
  application: # server相关配置
    domain: localhost:8002
    host: 0.0.0.0
    ishttps: false
    mode: dev
    name: ferry-test
    port: "8002"
    readtimeout: 1
    writertimeout: 2
  database: # 数据库配置
    dbtype: mysql
    host: 127.0.0.1
    name: ferry
    password: ferry@2020
    port: 3306
    username: ferry
  domain: # 平台url配置。目前看源码,主要是用来邮件通知工单url跳转用的。
    gethost: 1
    url: localhost:9527
  email: # email相关配置
    alias: ferry
    host: smtp.163.com
    pass: your password
    port: 465
    user: fdevops@163.com
  gorm: # go orm相关配置参数,可能需要优化
    logmode: 0
    maxidleconn: 0
    maxopenconn: 20000
  jwt: # jwt加密secret,生产环境可以修改
    secret: ferry
    timeout: 86400
  ldap: # ldap相关配置
    anonymousquery: 0
    basedn: dc=fdevops,dc=com
    bindpwd: 123456
    binduserdn: admin
    host: localhost
    port: 389
    tls: 0
    userfield: uid
  log: # 日志相关配置
    compress: 1
    consolestdout: 1
    filestdout: 0
    level: debug
    localtime: 1
    maxage: 30
    maxbackups: 300
    maxsize: 10240
    path: ./logs/ferry.log # 该路径配置好叻,但是二进制启动情况下没有往里写入。
  redis: # redis配置
    url: redis://ferry123456@127.0.0.1:6379
  ssl:
    key: keystring
    pem: temp/pem.pem

前端vue使用nginx代理

# 1. 拉取代码:
git clone https://gitee.com/yllan/ferry_web.git
  
# 2. 进入工作路径
cd ferry_web
  
# 3. 安装依赖
npm config set registry https://registry.npm.taobao.org
npm install
# 若npm install安装失败,可尝试使用一下命令安装
npm install --unsafe-perm
  
# 4. 修改 .env.production 文件
# base api
VUE_APP_BASE_API = 'http://10.18.255.76:8002'  # 修改为您自己的域名
  
# 5. 编译
npm run build:prod
  
# 6. nginx配置,根据业务自行调整即可

nginx配置参考

server {
    listen 80; # 监听端口
 
    server_name workorder.wisers.com.cn;
    #charset koi8-r;
 
    access_log /logs/nginx/ferry_access.log main;
    error_log  /logs/nginx/ferry_error.log;
    location ^~ / { # 这行很重要!!!原来不是模糊匹配,url经常丢,导致页面404等奇怪现象偶尔发生
      root /data/ferry/web;
      index index.html index.htm; #目录内的默认打开文件,如果没有匹配到index.html,则搜索index.htm,依次类推
    }
 
    #ssl配置省略
    location /api {
      # rewrite ^.+api/?(.*)$ /$1 break;
      proxy_pass http://10.18.255.76:8002; #node api server 即需要代理的IP地址
        proxy_redirect off;
      proxy_set_header Host $host:$server_port;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
 
    # 登陆
    location /login {
      proxy_pass http://10.18.255.76:8002; #node api server 即需要代理的IP地址
      proxy_redirect off;
      proxy_ignore_client_abort on;
      proxy_max_temp_file_size 256m;
      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;
      proxy_buffer_size          4k;
      proxy_buffers              4 32k;
      proxy_busy_buffers_size    32k;
      proxy_temp_file_write_size 64k;
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      proxy_set_header Host $host:$server_port;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
 
    # 刷新token
    location /refresh_token {
      proxy_pass http://10.18.255.76:8002; #node api server 即需要代理的IP地址
        proxy_set_header Host $host:$server_port;
    }
 
    # 接口地址
    location /swagger {
      proxy_pass http://10.18.255.76:8002; #node api server 即需要代理的IP地址
        proxy_set_header Host $host:$server_port;
    }
 
    # 后端静态文件路径
    location /static/uploadfile {
      proxy_pass http://10.18.255.76:8002; #node api server 即需要代理的IP地址
        proxy_set_header Host $host:$server_port;
    }
 
    #error_page  404              /404.html;    #对错误页面404.html 做了定向配置
 
    # redirect server error pages to the static page /50x.html
    #将服务器错误页面重定向到静态页面/50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
      root html;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值