1、设置时间同步
# 移除当前的时区信息 $ rm -rf /etc/localtime # 修改时区 $ ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 设置系统闹钟 $ echo "ZONE="Asia/Shanghai" UTC=false ARC=false">>/etc/sysconfig/clock # 安装时间服务 $ yum install -y ntp # 启动时间服务 $ systemctl start ntpd $ systemctl enable ntpd # 时间同步阿里云服务器 $ echo "/usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w">>/etc/rc.d/rc.local # 定时任务,每分钟同步一次 $ echo "0 */1 * * * ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w">>/etc/crontab
2、设置服务器语言
$ echo ' LANG="en_US.UTF-8"' >/etc/sysconfig/i18n $ source /etc/sysconfig/i18n $ echo LANG
3、安装常用工具(curl、wget、vim、lrzsz、dos2unix、git)
$ yum -y install curl \ wget \ tree \ dos2unix \ git
4、安装go环境
$ mkdir /opt/golang $ wget https://studygolang.com/dl/golang/go1.13.4.linux-amd64.tar.gz $ tar -zxvf go1.13.4.linux-amd64.tar.gz # 设置环境变量 $ echo -e "export GOPATH=/opt/gopath export GOROOT=/opt/golang/go export PATH=\$GOROOT/bin:\$PATH">>/etc/profile $ source /etc/profile $ go version $ go env -w GO111MODULE=on $ go env -w GOPROXY=https://goproxy.cn,direct
4、更新yum源,使用网易的镜像源
$ cd /etc/yum.repos.d/ $ mv CentOS-Base.repo CentOS-Base.repo.ori $ wget http://mirrors.163.com/.help/CentOS6-Base-163.repo $ mv CentOS6-Base-163.repo CentOS-Base.repo $ yum -y clean all $ yum makecache
5、安装docker
$ yum install -y yum-utils device-mapper-persistent-data lvm2 $ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo $ yum-config-manager --enable docker-ce-edge $ yum-config-manager --enable docker-ce-test $ yum install -y docker-ce # 启动服务 $ systemctl start docker $ chkconfig docker on
6、设置docker镜像加速(CentOS)
# 修改daemon配置文件/etc/docker/daemon.json来使用加速器 $ sudo mkdir -p /etc/docker $ sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://1zd1prxd.mirror.aliyuncs.com"] } EOF $ sudo systemctl daemon-reload $ sudo systemctl restart docker
7、安装docker-compose
$ curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose # 查看docker网络 $ docker network ls
8、拉取fabric相关镜像
# 网络部署是基于docker容器,那么我们目前就采用官方镜像文件来启动网络 # 要下载特定版本的镜像,首先需要拉去fabric官方镜像拉取插件,我们定义一个目录存放 $ mkdir -p /home/script $ cd /home/script $ curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh -o ./bootstrap.sh # 对脚本授予执行权限 $ chmod +x bootstrap.sh # bootstrap.sh 有几个核心参数: # -s 代表不拉取示例工程 # -d 代表不拉取镜像文件 # -b 代表不拉取二进制文件,也叫工具文件 # 在线拉取太慢,我们目前采用在线拉取镜像,关于二进制文件直接在github的官方下载上传,命令如下: # 2.0.1是fabric镜像版本 1.4.6是ca镜像版本 0.4.18是依赖的中间件版本,如couchdb、kafka、zookeeper $ ./bootstrap.sh 2.0.1 1.4.6 0.4.18 -s -b $ ./bootstrap.sh 2.0.1 1.4.6 0.4.18 # 如果在线下载所有的文件,则用此命令 # 不知道为何2.0.1的脚本竟然没有拉取依赖的中间件镜像,那么需要我们自己手动去拉取,我们目前只使用了couchdb $ docker pull hyperledger/fabric-couchdb:0.4.18 # 为现有的couchdb镜像打新的tag(d369d4eaa0fd为镜像id) $ docker tag d369d4eaa0fd hyperledger/fabric-couchdb:latest # 将上传的示例工程和二进制上传到服务器,并解压(如果在线下载则忽略下面的操作) $ unzip fabric-samples-2.0.1.zip $ mkdir fabric-tools $ tar -zxvf hyperledger-fabric-linux-amd64-2.0.1.tar.gz -C ./fabric-tools # 讲二进制工具拷贝到示例工程中 $ cp -r ./fabric-tools/bin ./fabric-samples