CentOS部署Ferry系统

1、Docker运行mysql容器:

docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111 mysql:5

2、进入到mysql中添加数据库:

[root@vm1 ~]# docker exec -it mysql5 /bin/bash
root@98d13d56f234:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2
Server version: 5.7.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> create database ferry;
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql> exit
Bye
root@98d13d56f234:/# exit
exit

使用create database ferry;命令创建数据库之后。exit命令退出数据库,然后再exit退出mysql5容器。

3、docker部署redis:

docker run --name=redis6.0  -d -p 6379:6379 redis:6.0

4、检查两个容器是否运行正常:

docker ps -a

5、安装git:

yum install -y git

6、拉取ferry代码:

[root@vm1 ~]# git clone https://github.com/lanyulei/ferry.git
Cloning into 'ferry'...

remote: Enumerating objects: 2729, done.

remote: Counting objects: 100% (674/674), done.

remote: Compressing objects: 100% (271/271), done.

remote: Total 2729 (delta 424), reused 453 (delta 401), pack-reused 2055
Receiving objects: 100% (2729/2729), 8.53 MiB | 4.06 MiB/s, done.

Resolving deltas: 100% (1523/1523), done.

7、进入到ferry目录:

[root@vm1 ~]# cd ferry
[root@vm1 ferry]# ll
total 124
drwxr-xr-x  9 root root   103 Nov 12 07:49 apis
-rwxr-xr-x  1 root root  8171 Nov 12 07:49 build.sh
drwxr-xr-x  4 root root    48 Nov 12 07:49 cmd
drwxr-xr-x  2 root root   104 Nov 12 07:49 config
drwxr-xr-x  2 root root    81 Nov 12 07:49 database
drwxr-xr-x  2 root root    27 Nov 12 07:49 docker
-rw-r--r--  1 root root  1050 Nov 12 07:49 docker-compose.yml
-rw-r--r--  1 root root  1888 Nov 12 07:49 Dockerfile
drwxr-xr-x  2 root root    96 Nov 12 07:49 docs
drwxr-xr-x  3 root root    17 Nov 12 07:49 global
-rw-r--r--  1 root root  5742 Nov 12 07:49 go.mod
-rw-r--r--  1 root root 80643 Nov 12 07:49 go.sum
drwxr-xr-x  3 root root    87 Nov 12 07:49 handler
-rw-r--r--  1 root root  1065 Nov 12 07:49 LICENSE
-rw-r--r--  1 root root    70 Nov 12 07:49 main.go
-rw-r--r--  1 root root   296 Nov 12 07:49 Makefile
drwxr-xr-x  2 root root   133 Nov 12 07:49 middleware
drwxr-xr-x  6 root root    59 Nov 12 07:49 models
drwxr-xr-x 14 root root   180 Nov 12 07:49 pkg
-rw-r--r--  1 root root  6878 Nov 12 07:49 README.md
drwxr-xr-x  5 root root    91 Nov 12 07:49 router
drwxr-xr-x  5 root root    48 Nov 12 07:49 static
drwxr-xr-x  3 root root   136 Nov 12 07:49 template
drwxr-xr-x  2 root root    54 Nov 12 07:49 test
drwxr-xr-x  5 root root   183 Nov 12 07:49 tools

8、修改settings.yml文件:

[root@vm1 ferry]# cat config/settings.yml
script:
  path: ./static/scripts
settings:
  application:
    domain: localhost:8002
    host: 0.0.0.0
    ishttps: false
    mode: dev
    name: ferry
    port: "8002"
    readtimeout: 1
    writertimeout: 2
  database:
    dbtype: mysql
    host: 192.168.17.150
    name: ferry
    password: 111111
    port: 3306
    username: root
  domain:
    gethost: 1
    url: localhost:9527
  email:
    alias: ferry
    host: smtp.163.com
    pass: your password
    port: 465
    user: fdevops@163.com
  gorm:
    logmode: 0
    maxidleconn: 0
    maxopenconn: 20000
  jwt:
    secret: ferry
    timeout: 86400
  ldap:
    anonymousquery: 0
    basedn: dc=fdevops,dc=com
    bindpwd: 123456
    binduserdn: cn=admin,dc=fdevops,dc=com
    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
  public:
    islocation: 0
  redis:
    url: redis://192.168.17.150:6379
  ssl:
    key: keystring
    pem: temp/pem.pem

做如下修改:
mysql 配置(更改host 和密码为你自己的):
host: ferry_mysql -> host: 192.168.17.150
password: 123456 -> password: 111111

找到如下配置:
redis:
    url: redis://ferry_redis:6379
做如下修改:
redis 配置(更改host为你自己的):
url: redis://ferry_redis:6379 -> url: redis://192.168.17.150:6379

说明:database和redis两个地方的配置,因为我这边数据库和redis都是部署在同一台机器上,所以就没写IP地址,而是使用的localhost,然后运行ferry失败。后来我改成机器的IP地址,发现就正常了。

9、创建needinit文件:

touch config/needinit

在lanyulei官网上说:

若是你没有同步过 ferry 相关的数据,则只需要在配置文件的路径下创建一个名为 needinit 的文件即可。
若是已经同步过,则必须确认在配置文件的路径下,一定要没有这个文件needinit。避免造成数据的重复同步。
配置文件的路径可根据下一步的描述得知。

10、创建Ferry容器并启动:

docker run -itd --name ferry -v /root/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1

注意:-v 前面是Docker主机的路径,后面是容器中的路径。/root/ferry/config是目前我机器上的路径,里面的配置文件是要挂载到容器里相应路径的。这不能搞错。

11、检查Ferry容器的运行状态:

[root@vm1 ferry]# docker ps -a
CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
67426aef7694   lanyulei/ferry:1.0.1   "/opt/workflow/ferry..."   2 minutes ago    Up 7 seconds    0.0.0.0:8002->8002/tcp, :::8002->8002/tcp              ferry
b606975167ba   redis:6.0              "docker-entrypoint.s..."   34 minutes ago   Up 34 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp              redis6.0
90c283d2ea0e   mysql:5                "docker-entrypoint.s..."   40 minutes ago   Up 40 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql5

如果容器运行有问题,可以使用docker logs ferry命令检查容器运行的输出信息。

12、浏览器访问http://ip地址:8002,即可访问到ferry系统:

CentOS部署Ferry系统

用户名:admin

密码:123456

13、说明:

目前的部署我们直接使用的是mysql的root账户,密码也比较简单。建议在数据库中创建ferry用户,并使用比较复杂的密码,并进行grant授权。

Original: https://blog.csdn.net/chang_chunhua/article/details/127816099
Author: CCH2023
Title: CentOS部署Ferry系统

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/652707/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球