附录

安装 Docker

环境要求

操作系统版本最低要求
CentOS/RHEL7.3(kernel >= 3.10.0-514)
DebianStretch 9
UbuntuXenial 16.04 (LTS)

安装 Docker

Docker 官方提供了一键安装工具,可以方便的在主机上安装 Docker 工具。

选择一个镜像云安装 Docker 服务:

  1. # (推荐)使用 阿里云镜像 安装 Docker
  2. curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun;
  3. # 使用 微软云镜像 安装 Docker
  4. curl -fsSL https://get.docker.com | bash -s docker --mirror AzureChinaCloud;

如果安装出现下面类似,提示 containerd.io 版本错误:

  1. Last metadata expiration check: 0:13:10 ago on Sun 08 Mar 2020 04:23:54 AM UTC.
  2. Error:
  3. Problem: package docker-ce-3:19.03.7-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  4. - cannot install the best candidate for the job
  5. - package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
  6. - package containerd.io-1.2.13-3.1.el7.x86_64 is excluded
  7. - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  8. - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  9. - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  10. - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  11. - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
  12. (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

需要执行一下下面的命令,然后再重新执行安装命令:

  1. # 安装 containerd.io 文件
  2. yum -y install "https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.3.9-3.1.el7.x86_64.rpm"
  3. # 重新执行 Docker 安装命令
  4. curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun;
  • 启动 Docker
  1. # 启动 Docker
  2. systemctl start docker
  • 检测 Docker 安装
  1. # 启动 Hello World 容器
  2. $ docker run --rm hello-world
  3. Hello from Docker!
  4. This message shows that your installation appears to be working correctly.
  5. To generate this message, Docker took the following steps:
  6. 1. The Docker client contacted the Docker daemon.
  7. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
  8. (amd64)
  9. 3. The Docker daemon created a new container from that image which runs the
  10. executable that produces the output you are currently reading.
  11. 4. The Docker daemon streamed that output to the Docker client, which sent it
  12. to your terminal.
  13. To try something more ambitious, you can run an Ubuntu container with:
  14. $ docker run -it ubuntu bash
  15. Share images, automate workflows, and more with a free Docker ID:
  16. https://hub.docker.com/
  17. For more examples and ideas, visit:
  18. https://docs.docker.com/get-started/

如果出现以上输出,包含 Hello from Docker!,表示 Docker 安装成功。

安装 Docker-Compose

Docker-Compose 是 Docker 官方提供的基于单机的容器编排工具,可以很方便的在单台主机中管理多个容器,包括按照依赖顺序启动,关闭,重启等。

  • 选择一种方式安装 Docker Compose:
  1. #(推荐)从 daocloud 下载 docker-compose
  2. curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose;
  3. # 从 官网下载 docker-compose
  4. curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose;
  • docker-compose 文件添加执行权限
  1. # docker-compose 文件添加执行权限
  2. chmod +x /usr/local/bin/docker-compose;
  • 检测 Docker Compose 安装
  1. # 输出 Docker Compose 版本号
  2. $ docker-compose -v
  3. docker-compose version 1.27.4, build 40524192

安装 Java

Ubuntu(Debian) 安装 Java

  1. # 安装默认Java版本(Java 8或以上)
  2. sudo apt install -y default-jdk
  3. # 查询Java版本
  4. java -version

CentOS 安装 Java

  1. # 查询 CentOS 原有的 Java 版本
  2. $ rpm -qa|grep java
  3. # 删除查询到的Java版本
  4. $ rpm -e --nodeps java-[VERSION]
  5. # 查询 Java 版本,没有出现版本号则删除完毕
  6. $ java -version
  7. # 创建新的文件夹,安装Java 8或以上的版本,将下载的jdk放在software目录
  8. # 从 openJDK官网 (https://jdk.java.net/java-se-ri/8)
  9. # 或
  10. # Oracle官网(https://www.oracle.com/technetwork/java/javase/downloads/index.html)
  11. # 选择Java 8或以上的版本下载
  12. # 例如下载jdk-8u201-linux-x64.tar.gz
  13. $ mkdir /software
  14. # 解压jdk
  15. $ tar -zxvf jdk-8u201-linux-x64.tar.gz
  16. # 配置Java环境,编辑/etc/profile文件
  17. $ vim /etc/profile
  18. # 打开以后将下面三句输入到文件里面并退出
  19. export JAVA_HOME=/software/jdk-8u201-linux-x64.tar.gz
  20. export PATH=$JAVA_HOME/bin:$PATH
  21. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  22. # 生效profile
  23. $ source /etc/profile
  24. # 查询Java版本,出现的版本是自己下载的版本,则安装成功。
  25. java -version

安装 Nginx

安装 Nginx 时,推荐使用 yum/apt-get 安装。

  • CentOS 7.x / RHEL 7.x
  1. # 安装 EPEL 仓库
  2. sudo yum install epel-release
  3. # 更新仓库
  4. sudo yum update
  5. # 安装 Nginx
  6. sudo yum install -y nginx
  • Ubuntu 16.04 / Debian 9
  1. # 更新仓库
  2. sudo apt-get update
  3. # 安装 Nginx
  4. sudo apt-get -y install nginx
  • 测试是否安装成功

查看 Nginx 版本:

  1. $ nginx -v
  2. nginx version: nginx/1.16.1

查看 Nginx 配置文件路径:

  1. $ nginx -t
  2. nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
  3. nginx: configuration file /etc/nginx/nginx.conf test is successful

安装 MySQL

此处以 CentOS 安装 MariaDB 为例。MariaDB 数据库是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。MariaDB 完全兼容 MySQL,包括 API 和命令行。其他安装方式请参考MySQL官网

(1)安装 MariaDB

  • 安装命令
  1. sudo yum install -y mariadb*

(2)启停

  1. 启动:sudo systemctl start mariadb.service
  2. 停止:sudo systemctl stop mariadb.service

(3)设置开机启动

  1. sudo systemctl enable mariadb.service

(4)初始化root用户

  1. # 执行以下命令:
  2. sudo mysql_secure_installation
  3. #以下根据提示输入:
  4. Enter current password for root (enter for none):<–初次运行直接回车
  5. Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
  6. New password: <– 设置root用户的密码
  7. Re-enter new password: <– 再输入一次你设置的密码
  8. Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
  9. Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车
  10. Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
  11. Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
  • 使用root用户登录,密码为初始化设置的密码
  1. mysql -uroot -p -h localhost -P 3306
  • 授权root用户远程访问

- 注意,以下语句仅适用于开发环境,不能直接在实际生产中使用!!! 以下操作仅供参考,请勿直接拷贝,请自定义设置复杂密码。

  1. mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
  2. mysql > flush PRIVILEGES;

提示

  • 例子中给出的数据库密码(123456)仅为样例,强烈建议设置成复杂密码
  • 例子中 root 用户的远程授权设置会使数据库在所有网络上都可以访问,请按具体的网络拓扑和权限控制情况,设置网络和权限帐号

安全温馨提示:

(5)创建test用户并授权本地访问

  1. mysql > GRANT ALL PRIVILEGES ON *.* TO 'test'@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;
  2. mysql > flush PRIVILEGES;

(6)测试是否成功

  • 登录数据库
  1. mysql -utest -p123456 -h localhost -P 3306
  • 创建数据库
  1. mysql > create database datastash;
  2. mysql > use datastash;

以上语句仅适用于开发环境,不能直接在实际生产中使用!!!以上设置会使数据库在所有网络上都可以访问,请按具体的网络拓扑和权限控制情况,设置网络和权限帐号

Git安装

Git:用于拉取最新代码

CentOS::

  1. sudo yum -y install git

Ubuntu:

  1. sudo apt install git