Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ

1、环境说明

虚拟机里面安装的操作系统是:CentOS 7 64位。

#如果要查看使用的端口,使用netstat命令;则需要安装工具
yum -y install net-tools
#安装网桥工具命令,可以使用 brctl 命令
yum install bridge-utils
#查看系统已使用的端口
netstat -aptn

#关闭防火墙
systemctl stop firewalld
#设置开机不启动防火墙
systemctl disable firewalld.service

#如果启动之后无法使用模拟终端(MobaXterm,xshell,secureCRT)连接的话;
#可以在虚拟机中先访问系统,然后执行如下命令
systemctl stop NetworkManager
systemctl restart network.service

#输入如下命令可以查看当前虚拟机的Ip
ip address

iptables -t nat -F

2、Docker安装与启动

2.1. Docker安装

以下是在CentOS7中安装Docker的步骤:

# 1、yum 包更新到最新
sudo yum update

# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 3、 设置yum源
# 3.1、方案一:使用ustc的(推荐)
sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 3.2、方案二:使用阿里云(可能失败)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 4、 安装docker;出现输入的界面都按 y
sudo yum install -y docker-ce

# 5、 查看docker版本
docker -v

2.2. 设置镜像源

ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。

https://lug.ustc.edu.cn/wiki/mirrors/help/docker

1、 编辑文件/etc/docker/daemon.json

# 执行如下命令:
mkdir /etc/docker

vi /etc/docker/daemon.json 

2、在文件中加入下面内容

{

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]

} 

2.3. Docker启动与停止命令

# 启动docker服务:
systemctl start docker
# 停止docker服务:
systemctl stop docker
# 重启docker服务:
systemctl restart docker
# 查看docker服务状态:
systemctl status docker
# 设置开机启动docker服务:
systemctl enable docker
#启动容器;如 
docker start mysql5.7
#重启容器
docker restart mysql5.7

3、Mysql安装

3.1. 拉取镜像

# 拉取MySQL 5.7镜像
docker pull mysql:5.7

3.2. 创建容器

docker run -di --name=mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

-p 代表端口映射,格式为 宿主机映射端口:容器运行端口

-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的远程登陆密码(如果是在容器中使用root登录的话,那么其密码为空)

# 创建mysql5.7容器
docker run -di --name=mysql5.7 -v /docker/mysql:/mysqltmp -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

3.3. 操作容器MySQL

#写查看容器名称
docker ps -a
# 登录docker容器中的 MySQL 5.7(名字根据查看容器)
docker exec -it mysql5.7 bash

# 登录容器里面的mysql
mysql -u root -p
输入密码
#退出MySQL,输入两次exit,退到根目录
exit

4、Redis安装

# 拉取redis镜像
docker pull redis

# 创建redis容器
docker run -di --name=redis -p 6379:6379 redis

#进入redis容器
docker exec -it redis /bin/bash
#进入redis安装目录
cd /usr/local/bin
#连接redis
./redis-cli

5、FastDFS安装部署

5.1. 拉取镜像

docker pull morunchang/fastdfs

5.2. 启动容器

运行tracker

docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh

运行storage

docker run -d --name storage --net=host -e TRACKER_IP=192.168.12.168:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
  • 使用的网络模式是**–net=host**, 192.168.12.168 是宿主机的IP; 使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
  • group1是组名,即storage的组;存放文件的
  • 如果想要增加新的storage服务器,再次运行该命令,注意更换 新组名

5.3. 配置Nginx

安装FastDFS容器中已经集成了Nginx,需要修改nginx的配置,进入storage的容器内部,修改nginx.conf

docker exec -it storage  /bin/bash

打开nginx的配置文件

vi /etc/nginx/conf/nginx.conf
  1. 修改大概在36行的监听端口为80;
  2. 在 M00 配置项中添加以下内容
add_header Cache-Control no-store;

修改后效果:

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第1张图片

# 退出容器
exit

#重启容器
docker restart storage

#开启开机启动
docker update --restart=always tracker
docker update --restart=always storage

6、Lua安装

安装lua相关依赖库的支持,执行如下命令:

yum install gcc gcc-c++ libtermcap-devel ncurses-devel libevent-devel readline-devel

#执行上述命令的时候;如果出现Is this ok [y/d/N]: 
#请输入 y

在线下载或使用资料/lua/lua-5.3.5.tar.gz中下载的安装包lua-5.3.5.tar.gz

#在线下载
cd /usr/local
curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz

#解压
tar zxf lua-5.3.5.tar.gz

#编译安装
cd lua-5.3.5

make linux test

7、OpenResty安装配置

7.1、安装OpenResty

1.添加仓库执行命令

 yum install yum-utils
 
 yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

2.执行安装

# 如果已经安装;想重新安装则先卸载
# yum -y remove openresty

# 安装
yum install openresty

安装过程中出现:Is this ok [y/d/N]: 或者 是否继续?[y/N]: 的时候都输入 y

安装成功后 会在默认的目录如下:/usr/local/openresty

7.2、配置Nginx

在安装了OpenResty之后;默认已经安装好了nginx,安装目录为/usr/local/openresty/nginx

修改/usr/local/openresty/nginx/conf/nginx.conf,将配置文件使用的根设置为root,目的就是将来要使用lua脚本的时候 ,直接可以加载在root下的lua脚本。

vi /usr/local/openresty/nginx/conf/nginx.conf

1、修改nginx.conf文件中的第2行中的 #user nobody;user root;如下:

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第2张图片
修改后:
Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第3张图片

2、修改同一个文件/usr/local/openresty/nginx/conf/nginx.conf的第36行,将 80 端口修改为 9090

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第4张图片

保存上述文件的修改。

#启动nginx
/usr/local/openresty/nginx/sbin/nginx

访问:http://192.168.12.168:9090

8、Canal 安装配置

8.1、开启mysql的binlog模式

1)修改/etc/my.cnf 需要开启主 从模式,开启binlog模式。

执行如下命令,编辑mysql配置文件


#进入容器
docker exec -it mysql5.7 /bin/bash

# 如果使用不了vi命令;则可以执行如下两个命令安装(中间有下载失败的也不影响)
# 但是在创建mysql容器的时候,已经设置了目录挂载,所以只需要将容器中的Mysql配置文件复制到挂载目录,然#后在宿主机上进行修改即可;所以下面两条安装命令是可以不执行的
# apt-get update
# apt-get install vim

# 复制配置文件到挂载目录
cp /etc/mysql/mysql.conf.d/mysqld.cnf /mysqltmp
# 退出容器
exit;

# 在宿主机编辑
vi /docker/mysql/mysqld.cnf

修改上述的mysqld.cnf配置文件,在文件的最后,添加如下配置:

log-bin=/var/lib/mysql/mysql-bin
server-id=12345

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第5张图片

修改完宿主机 /docker/mysql/mysqld.cnf 文件后,需要将文件覆盖回容器中 /etc/mysql/mysql.conf.d/mysqld.cnf

#进入容器
docker exec -it mysql5.7 /bin/bash

#覆盖
cp -rf /mysqltmp/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf 

2)创建mysql账号 用于测试使用,使用root账号创建用户并授予权限

-- 连接mysql,用户名root,密码123456
mysql -u root -p

-- 创建mysql账号,用户名canal,密码canal
create user canal@'%' IDENTIFIED by 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;

exit;

3)退出到虚拟机操作系统,重启mysql容器

docker restart mysql5.7

8.2、删除旧binlog

如果以前开启过mysql的binlog;那么日志会很多;可以先删除;删除之后canal必须重新安装。

打开mysql图形管理工具navicat;然后输入:

reset master

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第6张图片

因为给大家的虚拟机里面的mysql在配置开启了binlog之后操作了很多,所以日志会有很多。避免大家开启canal监听之后收到一大堆的无用数据库操作数据。所以才需要执行上述的删除日志操作。

顺带把安装好的canal删除了 docker rm canal

再按照8.3章节重新安装。

8.3、安装canal

# 拉取镜像
docker pull docker.io/canal/canal-server
#创建容器
docker run -di -p 11111:11111 --name=canal docker.io/canal/canal-server

进入容器,修改核心配置canal.properties 和instance.properties,canal.properties 是canal自身的配置。

#进入容器
docker exec -it canal /bin/bash


vi canal-server/conf/canal.properties

修改canal.properties的id,不能和mysql的server-id重复;这里只对 canal.id由原来的1修改为1001; 如下图:

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第7张图片

instance.properties是需要同步数据的数据库连接配置;设置数据库连接参数等信息。

#退出容器
exit;
#查看mysql 容器的ip信息
docker inspect mysql5.7

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第8张图片

#进入canal容器
docker exec -it canal /bin/bash

#修改canal数据库连接信息
vi canal-server/conf/example/instance.properties

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第9张图片
上述的文件中有个canal.instance.filter.regex,(这个值我们这里没有修改)表示解析关注的表;默认是全部表,其值有多种配置,如下:

mysql 数据解析关注的表,Perl正则表达式.
多个正则之间以逗号(,)分隔,转义符需要双斜杠(\\) 
常见例子:
1.  所有表:.*   or  .*\\..*
2.  canal schema下所有表: canal\\..*
3.  canal下的以canal打头的表:canal\\.canal.*
4.  canal schema下的一张表:canal.test1
5.  多个规则组合使用:canal\\..*,mysql.test1,mysql.test2 (逗号分隔)
注意:此过滤条件只针对row模式的数据有效(ps. mixed/statement因为不解析sql,所以无法准确提取tableName进行过滤)

配置完成后,设置开机启动,并记得重启canal。

#设置开启docker则启动,暂无必要,可以不设置
#docker update --restart=always canal

docker restart canal

9、ElasticSearch安装

9.1、拉取镜像

#拉取镜像
docker pull elasticsearch:6.5.0

9.2、修改系统配置

修改vi /etc/security/limits.conf ,追加如下内容 (nofile是单个进程允许打开的最大文件个数 soft nofile 是软限制 hard nofile是硬限制 )

* soft nofile 65536

* hard nofile 65536

* soft nproc 4096

* hard nproc 4096

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第10张图片

修改vi /etc/sysctl.conf,追加如下内容 (限制一个进程可以拥有的VMA(虚拟内存区域)的数量 )

vm.max_map_count=655360

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第11张图片

执行下面命令 修改内核参数马上生效

sysctl -p

在这里插入图片描述

重新启动虚拟机,再次启动容器,发现已经可以启动并远程访问

reboot

9.3、创建容器

#创建容器
docker run -di --name=elasticsearch -v /docker/elasticsearch:/elasticsearchtmp -p 9200:9200 -p 9300:9300 elasticsearch:6.5.0

9.4、修改容器配置

9.4.1、jvm

docker exec -it elasticsearch /bin/bash

#修改配置文件;
vi /usr/share/elasticsearch/config/jvm.options

将第22、 23行的内容修改为如下:

默认配置如下:

-Xms1g
-Xmx1g

内存占用太多了,调小一些:

-Xms512m
-Xmx512m

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第12张图片

9.4.2、容器

修改es配置开启远程连接,代码如下:

登录容器

docker exec -it elasticsearch /bin/bash

#修改配置文件;
vi /usr/share/elasticsearch/config/elasticsearch.yml

在上述的 elasticsearch.yml文件中将 cluster.name的值修为 changgou ;然后再文件内容后追加如下内容:

bootstrap.system_call_filter: false
http.cors.enabled: true
http.cors.allow-origin: "*"

修改后如下图:

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第13张图片

#重启docker
docker restart elasticsearch

访问: http://192.168.12.168:9200/

如果要开启docker后自动启动容器

docker update --restart=always 容器名称或者容器id

9.5、IK分词器安装

资料\elasticsearch\elasticsearch-analysis-ik-6.5.0.zip 文件上传到虚拟机中。

cd /docker/elasticsearch

mkdir ik && cd ik

#上述 elasticsearch-analysis-ik-6.5.0.zip 上传完成后;解压文件并重命名

# 下载解压工具
yum -y install unzip

unzip elasticsearch-analysis-ik-6.5.0.zip

#删除压缩包
rm -f elasticsearch-analysis-ik-6.5.0.zip

cd ..

docker cp ./ik elasticsearch:/usr/share/elasticsearch/plugins

#重启es容器
docker restart elasticsearch

IK提供了两个分词算法ik_smartik_max_word 其中 ik_smart 为最少切分,ik_max_word为最细粒度划分。在Chrome浏览器中打开REST Client插件(安装文档见资料文件夹中的 Advanced-REST-client_v3.1.9.zip)。

请求地址:http://192.168.12.168:9200/_analyze?pretty=true

请求方式:post

请求参数:{“analyzer”: “ik_smart”,“text”: “我是程序员”}

具体执行界面如下:
Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第14张图片

ik分词器的es各种版本可以从 https://github.com/medcl/elasticsearch-analysis-ik 下载

9.6、kibana安装

9.6.1、安装

#拉取kibana镜像
docker pull docker.io/kibana:6.5.0

#执行如下命令,开始创建kibana容器
docker run -it -d -e ELASTICSEARCH_URL=http://192.168.12.168:9200 --name=kibana -p 5601:5601 kibana:6.5.0

9.6.2、使用

ELASTICSEARCH_URL=http://192.168.12.168:9200 是指链接的ElasticSearch地址

5601:5601 访问端口号

访问http://192.168.12.168:5601如下地址进行测试:

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第15张图片
Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第16张图片

1)查看索引

GET /_cat/indices?v

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第17张图片

2)创建索引

PUT /user

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第18张图片

3)创建映射

PUT /user/_doc/_mapping
{
  "properties": {
    "name":{
      "type": "text",
      "analyzer": "ik_max_word",
      "search_analyzer": "ik_smart",
      "store": false
    },
    "city":{
      "type": "text",
      "analyzer": "ik_max_word",
      "search_analyzer": "ik_smart",
      "store": false
    },
    "age":{
      "type": "long",
      "store": false
    },
    "description":{
      "type": "text",
      "analyzer": "ik_max_word",
      "search_analyzer": "ik_smart",
      "store": false
    }
  }
}

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第19张图片

4)创建文档

PUT /user/_doc/1
{
  "name":"张黑马",
  "age":22,
  "city":"北京",
  "description":"张黑马来自中国北京!"
}

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第20张图片

5)查看文档

GET /user/_doc/1

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第21张图片

在新增几个文档内容:

PUT /user/_doc/2
{
  "name":"李白马",
  "age":23,
  "city":"上海",
  "description":"李白马来自中国上海!"
}

PUT /user/_doc/3
{
  "name":"王紫马",
  "age":21,
  "city":"深圳",
  "description":"王紫马来自中国深圳!"
}

PUT /user/_doc/4
{
  "name":"赵红马",
  "age":22,
  "city":"广州",
  "description":"赵红马来自中国广州!"
}

PUT /user/_doc/5
{
  "name":"钱蓝马",
  "age":25,
  "city":"广州",
  "description":"钱蓝马来自中国广州!"
}

6)修改文档

PUT /user/_doc/4
{
  "name":"赵红马,被修改了",
  "age":22,
  "city":"广州",
  "description":"赵红马来自中国广州!"
}

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第22张图片

使用POST更新某个列的数据;也就是选择性更新,只更新设置了的数据。

#使用POST更新某个域的数据
POST /user/_doc/4/_update
{
  "doc":{
    "name":"赵红马,又被修改",
    "description":"赵红马来自中国广州!"
  }
}

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第23张图片

7)删除文档

DELETE /user/_doc/6

#查询所有
GET /user/_search

8)排序分页

排序查询

#搜索排序
GET /user/_search
{
  "query":{
    "match_all": {}
  },
  "sort":{
    "age":{
      "order":"desc"
    }
  }
}

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第24张图片

分页查询

#分页实现
GET /user/_search
{
  "query":{
    "match_all": {}
  },
  "sort":{
    "age":{
      "order":"desc"
    }
  },
  "from": 0,
  "size": 2
}

from 起始索引号

size 每页大小

Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ_第25张图片

9)过滤查询

#term:单个词条查询
GET /user/_doc/_search
{
  "query":{
    "term":{
      "city":"广州"
    }
  }
}

#terms:多个词条查询
GET /user/_doc/_search
{
  "query":{
    "terms":{
      "city":["广州","深圳"]
    }
  }
}

#range 范围查询允许按照指定范围查找一批数据。例如查询年龄范围、
#gt表示> gte表示=>
#lt表示< lte表示<=

GET /user/_doc/_search
{
  "query":{
    "range": {
      "age": {
        "gte": 21,
        "lte": 24
      }
    }
  }
}

#exists 存在查询可以用于查找拥有某个域的数据 
GET /user/_doc/_search
{
  "query": {
    "exists":{
      "field":"address"
    }
  }
}

#bool 过滤可以用来合并多个过滤条件查询结果的布尔逻辑,它包含一下操作符:
# must : 多个查询条件的完全匹配,相当于 and。
# must_not : 多个查询条件的相反匹配,相当于 not。
# should : 至少有一个查询条件匹配, 相当于 or。
# 这些参数可以分别继承一个过滤条件或者一个过滤条件的数组:
GET /user/_doc/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "city": {
              "value": "广州"
            }
          }
        },
        {
          "range":{
            "age":{
              "gte":20,
              "lte":30
            }
          }
        }
      ]
    }
  }
}


# match_all 查询;可以查询到所有文档,是没有查询条件下的默认语句。 
GET /user/_doc/_search
{
  "query": {
    "match_all": {}
  }
}


# match查询是一个标准查询,不管你需要全文本查询还是精确查询基本上都要用到它。
# 如果你使用 match 查询一个全文本字段,它会在真正查询之前用分析器先分析match一下查询字符:
# 字符串匹配
GET /user/_doc/_search
{
  "query": {
    "match": {
      "description": "广州"
    }
  }
}


#  multi_match查询允许你做match查询的基础上同时搜索多个字段,在多个字段中同时查一个 
GET /user/_doc/_search
{
  "query": {
    "multi_match": {
      "query": "深圳",
      "fields": [
        "city",
        "description"
      ]
    }
  }
}

10、RabbitMQ安装

10.1、拉取镜像

docker pull rabbitmq:3.8.1-management

10.2、创建容器

docker run -di --name rabbitmq -p 5672:5672 -p 15672:15672 -v /docker/rabbitmq/data:/var/lib/rabbitmq rabbitmq:3.8.1-management

-d 后台运行容器;

–name 指定容器名;

-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);

-v 映射目录或文件;

-e 指定环境变量;如果有需要可以指定一些默认的信息(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

10.3、访问测试

http://192.168.12.168:15672

用户名:guest

密码:guest

11、公钥私钥生成

在windows系统中先安装openssl;之后打开 命令行 执行如下:


# 生成公钥私钥
keytool -genkeypair -alias changgou -keyalg RSA -keypass 123456 -keystore changgou.jks -storepass 123456 

# 利用openssl导出公钥
keytool -list -rfc --keystore changgou.jks | openssl x509 -inform pem -pubkey

12、Seata分布式事务服务器

12.1、安装jdk

mkdir /servers && cd /servers

#上传“资料/jdk-8u202-linux-x64.tar.gz”到上述文件夹

tar -zxvf jdk-8u202-linux-x64.tar.gz

rm -f jdk-8u202-linux-x64.tar.gz

vi /etc/profile
#跳转到最后一行(shift+g),按o进行编辑,添加如下:

export JAVA_HOME=/servers/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


#修改完并保存完后;执行如下立即生效
source /etc/profile

12.2、部署seata


cd /servers

#上传 seata-server-0.9.0.tar.gz 文件到上述目录

#解压
tar -zxvf seata-server-0.9.0.tar.gz

#后台方式启动seata
nohup sh /servers/seata/bin/seata-server.sh &

附录:启动全命令

#启动docker
systemctl start docker

#启动mysql
docker start mysql5.7

#启动redis
docker start redis

#启动openresty
/usr/local/openresty/nginx/sbin/nginx

#启动canal
docker start canal

用户名:guest

密码:guest

11、公钥私钥生成

在windows系统中先安装openssl;之后打开 命令行 执行如下:


# 生成公钥私钥
keytool -genkeypair -alias changgou -keyalg RSA -keypass 123456 -keystore changgou.jks -storepass 123456 

# 利用openssl导出公钥
keytool -list -rfc --keystore changgou.jks | openssl x509 -inform pem -pubkey

12、Seata分布式事务服务器

12.1、安装jdk

mkdir /servers && cd /servers

#上传“资料/jdk-8u202-linux-x64.tar.gz”到上述文件夹

tar -zxvf jdk-8u202-linux-x64.tar.gz

rm -f jdk-8u202-linux-x64.tar.gz

vi /etc/profile
#跳转到最后一行(shift+g),按o进行编辑,添加如下:

export JAVA_HOME=/servers/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


#修改完并保存完后;执行如下立即生效
source /etc/profile

12.2、部署seata


cd /servers

#上传 seata-server-0.9.0.tar.gz 文件到上述目录

#解压
tar -zxvf seata-server-0.9.0.tar.gz

#后台方式启动seata
nohup sh /servers/seata/bin/seata-server.sh &

附录:启动全命令

#启动docker
systemctl start docker

#启动mysql
docker start mysql5.7

#启动redis
docker start redis

#启动openresty
/usr/local/openresty/nginx/sbin/nginx

#启动canal
docker start canal

你可能感兴趣的:(Linux虚拟机安装Dokcer、Mysql、Redis、FastDFS、Lua、OpenResty、Canal、ElasticSearch、IK、kibana、RabbitMQ)