区块链 hyperledger fabric1.0 环境搭建
2017-07-26 10:52
791 查看
我的环境说明:
虚拟机:VMware 12.5.7
操作系统:CentOS 64 位
超级账本:https://github.com/hyperledger/fabric-samples.git v1.0.0
git config --global core.autocrlf false
git config --global core.longpaths true
vim /etc/profile
【/export PATH 找到设置PATH的行,添加】
export GOPATH=/usr/lib/golang
export PATH=$PATH:$GOPATH/bin
将SELINUX=enforcing改为SELINUX=disabled
yum install yum-utils
(b) 执行以下命令,添加Yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(c) 【可选】执行以下命令,启用“edge”仓库。edge仓库其实也包含在了docker.repo文件中了,但默认是禁用的
我们可使用以下命令启用edge仓库。
yum-config-manager --enable docker-ce-edge
如果想要再次禁用edge仓库,可执行以下命令。
yum-config-manager --disable docker-ce-edge
yum makecache fast
(b) 安装你想要的Docker版本(CE/EE)
Docker版本
命令
Docker CE
sudo yum install docker-ce (免费)
Docker EE
sudo yum install docker-ee
Docker从17.03开始分为企业版与社区版,社区版并非阉割版,而是改了个名称;企业版则提供了一些收费的高级特性。
EE版本维护期1年;CE的stable版本三个月发布一次,维护期四个月;另外CE还有edge版,一个月发布一次。
(2.2.1.3)安装
卸载Docker
yum remove docker docker-common container-selinux docker-selinux
-m` > /usr/local/bin/docker-compose
或者
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
执行 : source ~/.bash_profile
可使用nvm --version 命令检查nvm是否安装成功
nvm list-remote
b.安装想要安装版本的node,(例如:)
nvm install v6.11.1
c. 查看版本号(验证是否安装成功)
node -v
(出现版本号 大功告成)
npm -v
修改profile文件:
vim /etc/profile
export NODE_HOME=/root/.nvm/versions/node/v6.11.1 (到版本号即可)
export PATH=$NODE_HOME/bin:$PATH
(4.2)启动容器,docker run -d -p 8080:80 nginx
把容器内的nginx的80端口,映射到当前服务器的8080端口,
当前服务器的ip是192.168.1.120, (ifconfig-查询IP)
浏览器输入http://192.168.1.120:8080/,就可以看到nginx已启动,
(4.3)再启动多一个容器,docker run -d -p 8081:80 nginx
浏览器输入http://192.168.1.120:8081/,就可以看到另外一个nginx已启动
也可以通过curl 127.0.0.1:8081 来测试是否打开相应端口
(4.4)到这里就能体现出Docker部署应用和传统部署应用的区别了,
传统部署的话,需要人工拷贝多一份nginx,再配置端口,
而Docker部署的话,在已制作好的镜像基础上,一条命令就可以部署一个新的应用
(5.2)docker stop 73d5debfde26 停止容器
(5.3)docker rm 73d5debfde26 删除容器
说明:-p 参数是把 宿主的8081端口映射到容器的80端口
这里要注意-v是数据卷,可以主机和容器之间共享/home/Docker/nginx/html这个目录,
在容器里面就是/usr/share/nginx/html。其实这就是我们的代码目录,
调试代码就是靠共享目录实现的,很方便!
可以使用curl 127.0.0.1:8081查看
docker exec -it nginx-001 bash
#安装工具
apt-get update
apt-get install vim
#查看和修改nginx的配置信息
vim /etc/nginx/conf.d/default.conf (nginx配置)
b.开始下载源码 curl -sSL https://goo.gl/iX9dek | bash
我本地的配置为 export PATH=/root/hyperledger/run-files/bin:$PATH
修改profile文件:
vim /etc/profile
【/export PATH //找到设置PATH的行】添加
export PATH=<path to download location>/bin:$PATH
重启机器
安装 yum install npm
11.2 直接使用first-samples自代示例直接运行
./byfn.sh -m generate
11.3 开启网络 ./byfn.sh -m up
11.4 关闭 ./byfn.sh -m down (不用执行)
执行: ./startFabric.sh
异常信息(1):
Error: Cannot find module 'fabric-client'
at Function.Module._resolveFilename (module.js:485:15)
at Function.Module._load (module.js:437:25)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/root/hyperledger/fabric-samples/fabcar/query.js:11:11)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
异常信息(1)解决办法:
安装: npm install
参考资料:
http://hyperledger-fabric.readthedocs.io/en/latest/samples.html
https://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html
https://github.com/hyperledger/fabric-samples
http://blog.csdn.net/remote_roamer/article/details/51916893
http://www.cnblogs.com/bjlhx/p/7121875.html
http://www.cnblogs.com/bjlhx/p/7195894.html
http://www.cnblogs.com/niconi/p/5609773.html
虚拟机:VMware 12.5.7
操作系统:CentOS 64 位
超级账本:https://github.com/hyperledger/fabric-samples.git v1.0.0
1.安装工具
1.1 安装 git: yum install git
在执行git命令之前先执行以下命令git config --global core.autocrlf false
git config --global core.longpaths true
1.2 安装 curl: yum install curl
1.3 安装 golang:yum install golang
通过修改profile文件:vim /etc/profile
【/export PATH 找到设置PATH的行,添加】
export GOPATH=/usr/lib/golang
export PATH=$PATH:$GOPATH/bin
1.4 配置
vim /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled
2.【安装 Docker】
2.1 yum update (更新系统)
2.2 (docker安装步骤)
2.2.1 docker安装
(2.2.1.1)安装仓库
(a) 安装yum-utils ,这样我们就能使用yum-config-manager 设置Yum源。yum install yum-utils
(b) 执行以下命令,添加Yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(c) 【可选】执行以下命令,启用“edge”仓库。edge仓库其实也包含在了docker.repo文件中了,但默认是禁用的
我们可使用以下命令启用edge仓库。
yum-config-manager --enable docker-ce-edge
如果想要再次禁用edge仓库,可执行以下命令。
yum-config-manager --disable docker-ce-edge
(2.2.1.2)安装Docker
(a)执行以下命令更新Yum的包索引yum makecache fast
(b) 安装你想要的Docker版本(CE/EE)
Docker版本
命令
Docker CE
sudo yum install docker-ce (免费)
Docker EE
sudo yum install docker-ee
Docker从17.03开始分为企业版与社区版,社区版并非阉割版,而是改了个名称;企业版则提供了一些收费的高级特性。
EE版本维护期1年;CE的stable版本三个月发布一次,维护期四个月;另外CE还有edge版,一个月发布一次。
(2.2.1.3)安装
yum -y install epel-release
(2.2.1.4)启动Docker
systemctl start docker(2.2.1.5)验证安装是否正确
docker run hello-world(2.2.1.6)升级Docker(忽略)
yum makecache fast卸载Docker
yum remove docker docker-common container-selinux docker-selinux
(2.2.2)启动,systemctl start docker.service
(2.2.3)开机启动,systemctl enable docker.service
(2.2.4)帮助,docker --help
(2.2.5)概要信息,docker info
(2.2.6)镜像查看,docker images
(2.2.7)容器查看,即进程查看,docker ps -a
2.3 下载:docker-compose :
curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname-m` > /usr/local/bin/docker-compose
2.4 授权:sudo chmod +x /usr/local/bin/docker-compose
2.5 测试安装:docker-compose --version
3.安装node
3.1 安装编译环境:yum install gcc-c++
3.2 安装nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash或者
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
执行 : source ~/.bash_profile
可使用nvm --version 命令检查nvm是否安装成功
3.3 安装node
a.查看可以安装的node版本nvm list-remote
b.安装想要安装版本的node,(例如:)
nvm install v6.11.1
c. 查看版本号(验证是否安装成功)
node -v
(出现版本号 大功告成)
npm -v
3.4 配置环境变量
which node (查看 node 安装路径)修改profile文件:
vim /etc/profile
export NODE_HOME=/root/.nvm/versions/node/v6.11.1 (到版本号即可)
export PATH=$NODE_HOME/bin:$PATH
4.测试安装nginx
(4.1)下载镜像,docker pull nginx(4.2)启动容器,docker run -d -p 8080:80 nginx
把容器内的nginx的80端口,映射到当前服务器的8080端口,
当前服务器的ip是192.168.1.120, (ifconfig-查询IP)
浏览器输入http://192.168.1.120:8080/,就可以看到nginx已启动,
(4.3)再启动多一个容器,docker run -d -p 8081:80 nginx
浏览器输入http://192.168.1.120:8081/,就可以看到另外一个nginx已启动
也可以通过curl 127.0.0.1:8081 来测试是否打开相应端口
(4.4)到这里就能体现出Docker部署应用和传统部署应用的区别了,
传统部署的话,需要人工拷贝多一份nginx,再配置端口,
而Docker部署的话,在已制作好的镜像基础上,一条命令就可以部署一个新的应用
5.删除测试的nginx
(5.1)docker ps -a 可以显示容器id(5.2)docker stop 73d5debfde26 停止容器
(5.3)docker rm 73d5debfde26 删除容器
6.指定容器nginx的参数
docker run --name nginx-001 -d -p 8081:80 -v /home/docker/nginx/html:/usr/share/nginx/html nginx说明:-p 参数是把 宿主的8081端口映射到容器的80端口
这里要注意-v是数据卷,可以主机和容器之间共享/home/Docker/nginx/html这个目录,
在容器里面就是/usr/share/nginx/html。其实这就是我们的代码目录,
调试代码就是靠共享目录实现的,很方便!
可以使用curl 127.0.0.1:8081查看
7.修改容器里面的配置文件
#进入容器docker exec -it nginx-001 bash
#安装工具
apt-get update
apt-get install vim
#查看和修改nginx的配置信息
vim /etc/nginx/conf.d/default.conf (nginx配置)
8.在本地选择好一个目录,执行 git命令,下载【源码】
git clone https://github.com/hyperledger/fabric-samples.git cd fabric-samples9.在本地选择好一个目录,执行以下命令,下载【二进制运行库】
a.先进行一次ntp时间同步(确保万无一失) ntpdate pool.ntp.orgb.开始下载源码 curl -sSL https://goo.gl/iX9dek | bash
10.配置环境变量
参考(http://www.cnblogs.com/hust-chenming/p/4943268.html)我本地的配置为 export PATH=/root/hyperledger/run-files/bin:$PATH
修改profile文件:
vim /etc/profile
【/export PATH //找到设置PATH的行】添加
export PATH=<path to download location>/bin:$PATH
重启机器
安装 yum install npm
11.在目录fabric-samples中建立子目录 first-network (忽略)
11.1 cd /root/hyperledger/fabric-samples/first-network ,进入该目录11.2 直接使用first-samples自代示例直接运行
./byfn.sh -m generate
11.3 开启网络 ./byfn.sh -m up
11.4 关闭 ./byfn.sh -m down (不用执行)
12.开启网络配置
进入:cd /root/hyperledger/fabric-samples/fabcar执行: ./startFabric.sh
13.进入 cd /root/hyperledger/fabric-samples/fabcar
node ./query.js异常信息(1):
Error: Cannot find module 'fabric-client'
at Function.Module._resolveFilename (module.js:485:15)
at Function.Module._load (module.js:437:25)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/root/hyperledger/fabric-samples/fabcar/query.js:11:11)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
异常信息(1)解决办法:
安装: npm install
参考资料:
http://hyperledger-fabric.readthedocs.io/en/latest/samples.html
https://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html
https://github.com/hyperledger/fabric-samples
http://blog.csdn.net/remote_roamer/article/details/51916893
http://www.cnblogs.com/bjlhx/p/7121875.html
http://www.cnblogs.com/bjlhx/p/7195894.html
http://www.cnblogs.com/niconi/p/5609773.html
相关文章推荐
- Hyperledger Fabric 1.0 实战开发系列 第二课 Fabric环境搭建
- 区块链、Hyperledger-Fabric框架Win10环境搭建
- hyperledger fabric 1.0环境搭建出错记录
- 区块链之Hyperledger(超级账本)Fabric v1.0 的环境搭建(超详细教程)
- Hyperledger Fabric V1.0 学习笔记(一) Centos 7中的环境搭建
- 区块链hyperledger fabric 环境搭建 centos7 docker环境
- 快速搭建一个Hyperledger Fabric 1.0的环境(目前很多环境搭建方法都会中途挂掉,这个亲测有效!)
- hyperledger fabric 1.0环境搭建出错记录
- Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
- Hyperledger Fabric 环境搭建
- (一) Hyperledger Fabric在CentOS 7.2 64位下 开发与运行环境搭建
- IBM Hyperledger Fabric 开发环境搭建(windows环境)
- 区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程
- Hyperledger Fabric 开发环境搭建
- 【推荐】【入门】整理最新的区块链 Hyperledger Fabric 1.0 的资料
- Hyperledger Fabric 开发环境搭建
- 超级账本(一) HyperLedger Fabric 环境搭建
- Hyperledger Fabric 1.0 实战开发系列 第四课 搭建node.js服务器
- 区块链基础知识系列第5课 Hyperledger fabric1.0网络中transaction产生以及流转过程
- 在window下搭建即时即用的hyperledger fabric 的环境