栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Ferry工单管理系统安装部署

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ferry工单管理系统安装部署

引用作都的介绍:

本系统是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。

致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。

演示Demo: ferry - ferry

账号密码:admin/123456

Gitee: 仓库地址  Github:仓库地址

文档:介绍 - 兰玉磊的个人博客

根据作者的安装文档,写的简单了些,在这个过程中碰到很多问题,因些自己记录了一下安装过程:

Ferry安装配置

首先安装所需要用的基础软件vim,wget,git

yum –y install vim wget git

一、安装mysql

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

systemctl start  mysqld.service   #启动mysql

grep "password" /var/log/mysqld.log #找到安装后的默认密码

mysql -uroot -p

#输入初始密码(是上面图片最后面的SZgbj8,kpjSU此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

#其中‘new password’替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功。

#创建一个ferry用户用于ferry安装

create user 'ferry'@'localhost' identified by ' password ';

#给ferry用户授权可以访问ferry数据库

grant all privileges on ferry.* to 'ferry'@'localhost' identified by ' password ' ;

flush privileges;

exit

二、Go语方环境安装

wget https://studygolang.com/dl/golang/go1.17.5.linux-amd64.tar.gz

tar -C/usr/local -xvf go1.17.5.linux-amd64.tar.gz

mkdir /opt/gopath

cat >> /etc/profile <

export GOROOT=/usr/local/go

export GOPATH=/opt/gopath

export PATH=$PATH:$GOROOT/bin

export GOPROXY=https://goproxy.cn #设置go代理

EOF

source /etc/profile

go version

可以看到go的版本则安装成功。

三、安装redis

查看gcc版本,版本过低编译redis6会报错,升级gcc

# 升级到gcc 9.3:

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

# 需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。

# 如果要长期使用gcc 9.3的话:

echo -e "nsource /opt/rh/devtoolset-9/enable" >>/etc/profile

wget http://download.redis.io/releases/redis-6.2.6.tar.gz

tar zxvf redis-6.2.6.tar.gz

cd redis-6.2.6/

make && make PREFIX=/usr/local/redis install

# 编译安装到指定目录下

make PREFIX=/usr/local/redis install

# 编译出错时,清出编译生成的文件

make distclean

# 卸载

make uninstall

mkdir /etc/redis

#修改redis.conf文件设置开机启动

daemonize no 改为 daemonize yes

cp redis.conf /etc/redis/6379.conf

cd utils

cp redis_init_script /etc/init.d/redis_6379

chmod +x /etc/init.d/redis_6379

#修改redis_6379

将EXEC=/usr/local/bin/redis-server改为安装路径:

EXEC=/usr/local/redis/bin/redis-server

#启动redis

/etc/init.d/redis_6379 start

#设置redis开机启动

chkconfig --add redis_6379

chkconfig redis_6379 on

四、安装node

wget https://npm.taobao.org/mirrors/node/v14.18.2/node-v14.18.2-linux-x64.tar.gz

tar xf node-v14.18.2-linux-x64.tar.gz

mv node-v14.18.2-linux-x64 /opt/

vim /etc/profile

最后一行添加 : export PATH=$PATH:/opt/node-v14.18.2-linux-x64/bin

source /etc/profile

node –v

npm -v

可以显示版本号则安装成功

五、ferry后端部署

cd /opt

# 1. 拉取代码,以下命令二选一即可:

git clone https://github.com/lanyulei/ferry.git

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 log static/uploadfile static/scripts static/template

 # 5. 将本地项目下static/template目录下的所有文件上传的到,服务器对应的项目目录下static/template

 # 6. 连接数据库,并创建数据库

create database ferry charset 'utf8mb4';

 # 7. 初始化数据

./ferry init -c=config/settings.yml

 

# 8. 启动程序,推荐通过"进程管理工具"进行启动维护

nohup ./ferry server -c=config/settings.yml > /dev/null 2>&1 &

六、ferry前端部署:

# 1. 拉取代码,以下命令二选一即可:

git clone https://github.com/lanyulei/ferry_web.git

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

 # 推荐使用cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm install

#这个过程中会碰到类似下图中的问题

#后面如果一直卡在那,再报错的话,我们就单独将这个包再安装一次如:

cnpm install --save is-buffer@^1.1.5

#直到出现如下图所示,则这一步安装组件完成

# 4. 修改 .env.production 文件

# base api

VUE_APP_base_API = 'http://fdevops.com:8001'  # 修改为您自己的域名也可以是IP地址

# 5. 编译

cnpm run build:prod

#下面的图是在编译时碰到的问题记录

#缺少webpack包,安装下,不要安装太高版本否则会报错

cnpm install --save webpack@^4.5.0

#注意这个问题

file-loader版本过高编译完成后,图片会有object module错误

cnpm install file-loader@^4.2.0

#编译时报下面错误,缺少组件,继续安装组件

cnpm install --save @babel/helper-validator-option 

#下图这个问题需要重建node-sass

cnpm rebuild node-sass

#重建过程中还是报错,看提示是缺少目录,我们创建这个目录,并给目录所有权

mkdir -p /opt/ferry/ferry_web/node_modules/_node-sass@4.14.1@node-sass/vendor

chmod 777 /opt/ferry/ferry_web/node_modules/_node-sass@4.14.1@node-sass/vendor

#在github下载这个文件会比较慢或都报错,我们可以直接先下好

wget https://npm.taobao.org/mirrors/node-sass/v4.14.1/linux-x64-83_binding.node

#然后将下载好的文件放到对应的目录中即可

mv linux-x64-83_binding.node /opt/ferry/ferry_web/node_modules/_node-sass@4.14.1@node-sass/vendor/linux-x64-83/binding.node

cnpm rebuild node-sass

#又来新的错误了,总结下是需要安装几个新的组件

cnpm install --save core-js regenerator-runtime svg-baker-runtime

#安装完成后继续执行编译命令

cnpm run build:prod

#总算搞定了。

七、nginx安装配置

#安装nginx

yum install yum-utils

#添加源到 

vim /etc/yum.repos.d/nginx.repo

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

yum -y install nginx

添加ferry配置文件

vim /etc/nginx/conf.d/ferry.conf

server {

  listen 8001; # 监听端口

  server_name 10.100.168.70:8001; # 域名可以有多个,用空格隔开

 

  #charset koi8-r;

 

  #access_log  logs/host.access.log  main;

  location / {

    root /opt/ferry/ferry_web/web;

    index index.html index.htm; #目录内的默认打开文件,如果没有匹配到index.html,则搜索index.htm,依次类推

  }

 

  #ssl配置省略

  location /api {

    # rewrite ^.+api/?(.*)$ /$1 break;

    proxy_pass http://127.0.0.1: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://127.0.0.1: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://127.0.0.1:8002; #node api server 即需要代理的IP地址

    proxy_set_header Host $host:$server_port;

  }

 

  # 接口地址

  location /swagger {

    proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址

    proxy_set_header Host $host:$server_port;

  }

 

  # 后端静态文件路径

  location /static/uploadfile {

    proxy_pass http://127.0.0.1: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;

  }

}

#检查配置文件是否有错

nginx –t

#启动nginx

nginx

#启动完成后查看下主要的几个端口是否已开启

#记得在防火墙上打开被访问的端口8001

firewall-cmd --zone=public --add-port=8001/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

重新载入

firewall-cmd --reload

安装完成

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/675539.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号