独立安装Fabric CA
10.1更换配置
# 更新go版本
su root
cd /usr/local/ # 切换到下载安装包的目录
rm gol.15.3.linux-amd64.targx//删除原有的安装包
wget https://studygolang.com/dl/golang/go1.22.1.linux-amd64.tar.gz # 最新版
tar -C $HOME -xzf go1.22.1.linux-amd64.tar.gz # 解压到$HOME目录
mkdir $HOME/gocode
vim ~/.bashrc
# 在文件添加以下内容:
export GOPATH=$HOME/gocode
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin
# 编译.bashrc
source ~/.bashrc
# 查看go版本
go version
# 命令来清理Go编译缓存
go clean -cache
10.2 安装libtool和libtdhl-dev程序个GCC编译器
yum install libtool-ltdl-devel
yum -y install gcc-c++
cd $GOPATH
git clone https://gitee.com/hyperledger/fabric-ca.git
# 下载完成在$GOPATH会出现fabric-ca文件夹
cd fabric-ca
# 编译Fabric CA Server应用程序
make fabric-ca-server
# 编译Fabric CA Client应用程序
make fabric-ca-client
# 编辑 ~/.bashrc
export PATH=$PATH:$GOPATH/fabric-ca/bin
source ~/.bashrc
# 查看fabric-ca-server文件位置
which fabric-ca-server
# 如果一切正常,则执行结果如下:

11 初始化和启动
cd /root
fabric-ca-server init -b admin:adminpw # 以管理员身份初始化server
fabric-ca-server start -b admin:adminpw # 以默认方式启动server


12配置数据库
cd /usr/local/src
# 从官网下载,然后拉取到虚拟机 https://dev.mysql.com/downloads/repo/yum/
# 解压缩
rpm -Uvh mysql80-community-release-el7-11.noarch.rpm
# 查看yum源仓库mysql文件
yum repolist enabled | grep "mysql.*-community.*"
# 解决密钥缺失问题
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 或者禁用GPG检查
sudo yum install mysql-community-client --nogpgcheck
yum install mysql-community-server -y
# 启动
service mysqld start
# 查看临时密码 ,?DjUt_i=98J
grep "temporary password" /var/log/mysqld.log
mysql -u root -h localhost -P
# 执行下面命令
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '@Jr123456';
use mysql;
update user set host='%' where user='root' and host = 'localhost';
flush privileges;
# 执行数据库安全配置
mysql_secure_installation
# 修改
Remove anonymous users? (Press y|Y for Yes, any other key for No) :N
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :N
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :N
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y
# 关闭防火墙
systemctl stop firewalld
# 编辑fabric-ca-server-config.yaml文件
# 本案例在$GOPATH/fabric-ca/bin路径下
# 在fabric-ca-server初始化命令执行之后,会在当前目录下生成相应的配置文件
# 在Navicat中链接数据库,执行如下命令
SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION'
# 重新初始化fabric-ca-server
fabric-ca-server init -b admin:adminpw

13、建立Fabric CA Server 集群
# 同时开启2个Fabric CA Server
fabric-ca-server start -b admin:adminpw --cacount 2
# 在同时开启时,可以使用 --cafiles 命令选项指定使用的配置文件
# --cafiles指定的配置文件必须事先存在,其优先级比默认的配置文件高
fabric-ca-server start -b admin:adminpw --cafiles ca/ca1/fabric-ca-config.yaml --cafiles ca/ca2/fabric-ca-config.yaml
# 配置HAProxy代理服务器
yum -y install haproxy
# 修改 /etc/haproxy/haproxy.cfg 配置文件,或者在原来的修改端口
global # global:指定全局配置部分,其下面的参数是进程级的,通常和操作系统相关
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000 # maxconn:指定最大连接数。
user haproxy
group haproxy
daemon # daemon:指定以后台形式运行 HAProxy。
defaults # defaults:默认设置部分。
mode http # 启用 HTTP模式。如果使用 TLS,则需要选择启用 TCP 模式。
maxconn 2000
timeout connect 5000 # 连接超时时间,单位为s。
timeout client 50000 # 客户端超时时间,单位为s。
timeout server 50000 # 服务器超时时间,单位为s。
listen http-in # 网站监听设置部分。
bing *:7054 # 监听的端口。
balance roundrobin # 负载均衡的策略,roundrobin是平均分配策略。
server server1 hostname1:port
server server2 hostname2:port
server server3 hostname3:port
# 原来文件;4331===>7054
# 在server static 127.0.0.1:4331 check
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 4
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend main *:5000
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js
use_backend static if url_static
default_backend app
backend static
balance roundrobin
server static 127.0.0.1:4331 check
backend app
balance roundrobin
server app1 127.0.0.1:5001 check
server app2 127.0.0.1:5002 check
server app3 127.0.0.1:5003 check
server app4 127.0.0.1:5004 check
13.1 演习在Fabric CA Client 注册一个peer节点用户peer1-org1的过程
# 创建admin过程
mkdir $GOPATH/fabric-ca/clients
mkdir $GOPATH/fabric-ca/clients/admin
# 设置执行Fabric CA Client 的主目录
export FABRIC_CA_CLIENT_HOME=$GOPATH/fabric-ca/client/admin
# 登录过程会写入数据库,在Navicat中链接数据库,执行如下命令
SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION'
# 打开一个新的端口
fabric-ca-server start -b admin:adminpw
# 在原有的终端,可在Fabric CA Client登录已有身份admin
# 一切正常则如下所示
fabric-ca-client enroll -u http://admin:adminpw@localhost:7054
# 注册一个节点
# 一切正常则如下所示
fabric-ca-client register --id.name peer1-org1 --id.type peer --id.secret userpwd -u http://localhost:7054
# 验证注销新用户效果,需先创建好文件夹
# 一切正常则如下所示
mkdir $GOPATH/fabric-ca/clients/admin/peer1-org1
export FABRIC_CA_CLIENT_HOME=$GOPATH/fabric-ca/client/admin/peer1-org1
fabric-ca-client enroll -u http://peer1-org1:userpwpd@localhost:7054



1098

被折叠的 条评论
为什么被折叠?



