• CentOS部署Ferry系统


    1、Docker运行mysql容器:

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

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

    1. [root@vm1 ~]# docker exec -it mysql5 /bin/bash
    2. root@98d13d56f234:/# mysql -uroot -p
    3. Enter password:
    4. Welcome to the MySQL monitor. Commands end with ; or \g.
    5. Your MySQL connection id is 2
    6. Server version: 5.7.36 MySQL Community Server (GPL)
    7. Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    8. Oracle is a registered trademark of Oracle Corporation and/or its
    9. affiliates. Other names may be trademarks of their respective
    10. owners.
    11. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    12. mysql> show databases;
    13. +--------------------+
    14. | Database |
    15. +--------------------+
    16. | information_schema |
    17. | mysql |
    18. | performance_schema |
    19. | sys |
    20. +--------------------+
    21. 4 rows in set (0.00 sec)
    22. mysql> create database ferry;
    23. Query OK, 1 row affected (0.00 sec)
    24. mysql>
    25. mysql>
    26. mysql> exit
    27. Bye
    28. root@98d13d56f234:/# exit
    29. 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代码:

    1. [root@vm1 ~]# git clone https://github.com/lanyulei/ferry.git
    2. Cloning into 'ferry'...
    3. remote: Enumerating objects: 2729, done.
    4. remote: Counting objects: 100% (674/674), done.
    5. remote: Compressing objects: 100% (271/271), done.
    6. remote: Total 2729 (delta 424), reused 453 (delta 401), pack-reused 2055
    7. Receiving objects: 100% (2729/2729), 8.53 MiB | 4.06 MiB/s, done.
    8. Resolving deltas: 100% (1523/1523), done.

    7、进入到ferry目录:

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

    8、修改settings.yml文件:

    1. [root@vm1 ferry]# cat config/settings.yml
    2. script:
    3. path: ./static/scripts
    4. settings:
    5. application:
    6. domain: localhost:8002
    7. host: 0.0.0.0
    8. ishttps: false
    9. mode: dev
    10. name: ferry
    11. port: "8002"
    12. readtimeout: 1
    13. writertimeout: 2
    14. database:
    15. dbtype: mysql
    16. host: 192.168.17.150
    17. name: ferry
    18. password: 111111
    19. port: 3306
    20. username: root
    21. domain:
    22. gethost: 1
    23. url: localhost:9527
    24. email:
    25. alias: ferry
    26. host: smtp.163.com
    27. pass: your password
    28. port: 465
    29. user: fdevops@163.com
    30. gorm:
    31. logmode: 0
    32. maxidleconn: 0
    33. maxopenconn: 20000
    34. jwt:
    35. secret: ferry
    36. timeout: 86400
    37. ldap:
    38. anonymousquery: 0
    39. basedn: dc=fdevops,dc=com
    40. bindpwd: 123456
    41. binduserdn: cn=admin,dc=fdevops,dc=com
    42. host: localhost
    43. port: 389
    44. tls: 0
    45. userfield: uid
    46. log:
    47. compress: 1
    48. consolestdout: 1
    49. filestdout: 0
    50. level: debug
    51. localtime: 1
    52. maxage: 30
    53. maxbackups: 300
    54. maxsize: 10240
    55. path: ./logs/ferry.log
    56. public:
    57. islocation: 0
    58. redis:
    59. url: redis://192.168.17.150:6379
    60. ssl:
    61. key: keystring
    62. pem: temp/pem.pem
    63. 做如下修改:
    64. mysql 配置(更改host 和密码为你自己的):
    65. host: ferry_mysql -> host: 192.168.17.150
    66. password: 123456 -> password: 111111
    67. 找到如下配置:
    68. redis:
    69. url: redis://ferry_redis:6379
    70. 做如下修改:
    71. redis 配置(更改host为你自己的):
    72. 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容器的运行状态:

    1. [root@vm1 ferry]# docker ps -a
    2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    3. 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
    4. 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
    5. 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系统:

    用户名:admin

    密码:123456

    13、说明:

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

  • 相关阅读:
    哪款半入耳式蓝牙耳机音质好?音质比较好的半入耳式蓝牙耳机推荐
    Vben Admin 源码学习:项目初始化
    基于Python实现的人工智能作业小车问题
    Linux学习笔记(更新中)
    Redis如何实现多可用区?
    红色Cy5 NHS生物相容性与溶解性1263093-76-0
    【Redis专题】大厂生产级Redis高并发分布式锁实战
    程序员都看不懂的代码
    数据库之ACID
    SpringBoot配置多环境开发
  • 原文地址:https://blog.csdn.net/chang_chunhua/article/details/127816099