From 888165fb12bcbdccfedac1e1890d13dc6b26f1e0 Mon Sep 17 00:00:00 2001
From: wzj <244142824@qq.com>
Date: Sun, 20 Nov 2022 21:15:56 +0800
Subject: [PATCH] first commit
---
README.md | 1561 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 1561 insertions(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..cfc6d53
--- /dev/null
+++ b/README.md
@@ -0,0 +1,1561 @@
+# 编程环境和软件设施安装手册
+
+## 环境声明(重要!!!)
+
+本文档所有实验、环境、工具、软件均基于 CentOS 7.4 64bit Linux操作系统进行
+
+## 1.GIT工具安装
+
+### 方式一:通过包管理器安装
+
+在 Linux 上安装 Git 向来**仅需一行命令**即可搞定,因为各式各样的**包管理器**帮了我们⼤忙,所以对于
+
+CentOS 系统来讲,直接执行如下命令即可安装:
+
+```bash
+yum -y install git
+```
+
+当然通过这种⽅式安装的 Git 可能不是较新版的 Git ,以我们的实验环境 CentOS 7.4 来说,这种⽅
+
+式安装的 Git 版本为 1.8.3.1 ,不过一般来说是够用的。
+
+### 方式二:通过源码编译安装
+
+如果想安装较新版本的 Git ,则需要自行下载 Git 源码来编译安装。
+
+**1、准备Git安装包**
+
+我这里选择安装的是 2.26.2 版,将下载好的安装包 v2.26.2.tar.gz 直接放在了 root 目录下
+
+然后将其本地解压,得到 git-2.26.2 目录:
+
+```bash
+[root@localhost ~]# tar -zxvf v2.26.2.tar.gz
+```
+
+
+
+**2、提前安装可能所需的依赖**
+
+```bash
+yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker
+```
+
+**3、编译安装Git**
+
+进入到对应目录,执行配置、编译、安装命令即可,如下所示:
+
+```bash
+[root@localhost ~]# cd git-2.26.2/
+[root@localhost git-2.26.2]# make configure
+[root@localhost git-2.26.2]# ./configure --prefix=/usr/local/git
+[root@localhost git-2.26.2]# make profix=/usr/local/git
+[root@localhost git-2.26.2]# make install
+```
+
+**4、将Git加入环境变量**
+
+将 Git 的可执行程序加入环境变量,便于后续使用
+
+编辑配置文件:
+
+```bash
+vim /etc/profile
+```
+
+尾部加入 Git 的 bin 路径配置即可
+
+```bash
+export GIT_HOME=/usr/local/git
+export PATH=$PATH:$GIT_HOME/bin
+```
+
+最后执行 `source /etc/profile` 使环境变量生效即可。
+
+**5、查看安装结果**
+执行 `git --version` 查看安装后的版本即可
+
+
+
+
+
+## 2.JDK(JAVA环境)安装
+
+> 注意:这里安装的是Oracle JDK
+
+### 准备JDK安装包
+
+我这里下载的是 jdk-8u161-linux-x64.tar.gz 安装包,并将其直接放在了 /usr/src 目录下
+
+```bash
+wget https://mirror.liuyan.wang/download/jdk/jdk-8u161-linux-x64.tar.gz -P /usr/src
+```
+
+
+
+### 卸载已有的OPENJDK(如果有)
+
+如果系统自带有 OpenJDK ,可以按照如下步骤提前卸载之。
+
+首先查找已经安装的 OpenJDK 包:
+
+```bash
+rpm -qa | grep java
+```
+
+
+
+接下来可以将 java 开头的安装包均卸载即可:
+
+```bash
+yum -y remove java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
+yum -y remove java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
+... 省略 ...
+```
+
+### 创建目录并解压
+
+1、在 `/usr/local/` 下创建 java 文件夹并进入
+
+```bash
+mkdir -p /usr/local/java
+cd /usr/local/java
+```
+
+2、将上面准备好的 JDK 安装包解压到 /usr/local/java 中即可
+
+```bash
+tar -zxvf /usr/src/jdk-8u161-linux-x64.tar.gz -C ./
+```
+
+解压完之后, /usr/local/java 目录中会出现一个 jdk1.8.0_161 的目录
+
+配置JDK环境变量
+
+编辑 /etc/profile 文件,在文件尾部加入如下 JDK 环境配置即可
+
+```bash
+vim /etc/profile
+```
+
+```bash
+# java
+JAVA_HOME=/usr/local/java/jdk1.8.0_161
+CLASSPATH=$JAVA_HOME/lib/
+PATH=$PATH:$JAVA_HOME/bin
+export PATH JAVA_HOME CLASSPATH
+```
+
+然后执行如下命令让环境变量生效
+
+```bash
+source /etc/profile
+```
+
+### 验证JDK安装结果
+
+输入如下命令即可检查安装结果:
+
+```bash
+java -version
+javac
+```
+
+
+
+## 3.NODE环境安装
+
+### 准备NODE安装包
+
+1、在 `/usr/local/` 下创建 `node` 文件夹并进入,下载node包
+
+```bash
+mkdir -p /usr/local/node
+cd /usr/local/node
+wget https://mirror.liuyan.wang/download/nodejs/node-v12.16.3-linux-x64.tar.xz
+```
+
+2、将 Node 的安装包解压到 /usr/local/node 中即可
+
+```bash
+tar -xJvf node-v12.16.3-linux-x64.tar.xz -C ./
+```
+
+解压完之后, /usr/local/node 目录中会出现一个 node-v12.16.3-linux-x64 的目录
+
+### 配置NODE系统环境变量
+
+编辑 `~/.bash_profile` 文件,在文件末尾追加如下信息:
+
+```bash
+vim ~/.bash_profile
+```
+
+```bash
+# Nodejs
+export PATH=/usr/local/node/node-v12.16.3-linux-x64/bin:$PATH
+```
+
+刷新环境变量,使之生效即可:
+
+```bash
+source ~/.bash_profile
+```
+
+### 检查安装结果
+
+```bash
+node -v
+npm version
+npx -v
+```
+
+均有版本信息输出即可:
+
+
+
+## 4.PYTHON环境安装
+
+> CentOS 7.4 默认自带了一个 Python2.7 环境
+>
+> 然⽽现在主流都是 Python3 ,所以接下来再装一个 Python3 ,打造一个共存的环境。
+
+### 下载PYTHON3安装包并解压
+
+```bash
+wget https://mirror.liuyan.wang/download/python/Python-3.8.3.tgz
+tar zxvf Python-3.8.3.tgz
+```
+
+则可以在当前目录得到文件夹: Python-3.8.3
+
+### 安装相关预备环境
+
+直接执行如下命令即可:
+
+```bash
+yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
+```
+
+### 编译并安装
+
+这里指定了安装目录为 /usr/local/python3 ,有需要可以自定义
+
+```bash
+cd Python-3.8.3/
+./configure prefix=/usr/local/python3
+make && make install
+```
+
+等安装过程完毕, /usr/local/python3 目录就会生成了
+
+### 添加软链接
+
+我们还需要将刚刚安装生成的目录 `/usr/local/python3` 里的 python3 可执行文件做一份软链接,链接到 /usr/bin 下,⽅便后续使用python3
+
+```bash
+ln -s /usr/local/python3/bin/python3 /usr/bin/python3
+ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
+```
+
+
+
+### 验证安装
+
+命令行输入 python3 ,即可查看 Python3 版本的安装结果
+
+
+
+⽽输入 python ,依然还是 python2.7.5 环境
+
+
+
+## 5.MAVEN项目构建和管理工具安装
+
+### 下载并解压maven安装包
+
+```bash
+mkdir -p /usr/local/maven
+cd /usr/local/maven
+wget https://mirror.liuyan.wang/download/maven/apache-maven-3.6.3-bin.tar.gz
+tar zxvf apache-maven-3.6.3-bin.tar.gz
+```
+
+即可在当前目录得到 /usr/local/maven/apache-maven-3.6.3 目录
+
+### 配置MAVEN加速镜像源
+
+这里配置的是阿里云的maven镜像源。
+
+编辑修改` /usr/local/maven/apache-maven-3.6.3/conf/settings.xml`文件,在 `` 标签对里添加如下内容即可:
+
+```xml
+
+ alimaven
+ aliyun maven
+ http://maven.aliyun.com/nexus/content/groups/public/
+ central
+
+```
+
+
+
+### 配置环境变量
+
+因为下载的是`⼆进制`版安装包,所以解压完,配置好环境变量即可使用了。
+
+编辑修改 `/etc/profile` 文件,在文件尾部添加如下内容,配置 maven 的安装路径
+
+```bash
+vim /etc/profile
+```
+
+```bash
+# maven
+export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3
+export PATH=$MAVEN_HOME/bin:$PATH
+```
+
+接下来执行 `source /etc/profile` 来刷新环境变量,让 maven 环境的路径配置生效。
+
+```bash
+source /etc/profile
+```
+
+### 检验安装结果
+
+执行 `mvn –v` ,能打印出 maven 版本信息说明安装、配置成功:
+
+
+
+## 6.MYSQL数据库部署和安装(二进制)
+
+### 首先下载安装包
+
+这里下载的是 `mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz` 安装包,并将其直接放在了 /usr/src目录下
+
+```bash
+wget https://mirror.liuyan.wang/download/mysql/binary/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -P /usr/src
+```
+
+### 安装依赖
+
+```bash
+yum -y install libaio
+```
+
+### 卸载系统自带的MARIADB(如果有)
+
+如果系统之前自带 Mariadb ,可以先卸载之。
+
+首先查询已安装的 Mariadb 安装包:
+
+```
+rpm -qa|grep mariadb
+```
+
+
+
+均将其卸载:
+
+```bash
+yum -y remove mariadb-server-5.5.56-2.el7.x86_64
+yum -y remove mariadb-5.5.56-2.el7.x86_64
+yum -y remove mariadb-devel-5.5.56-2.el7.x86_64
+yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
+```
+
+### 解压MYSQL安装包
+
+```bashj
+tar -zxvf /usr/src/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
+cd /usr/local/
+mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql
+```
+
+### 创建MYSQL用户和用户组
+
+```bash
+groupadd mysql
+useradd -r -g mysql -s /bin/false mysql
+```
+
+同时新建 /usr/local/mysql/data 目录,后续作为数据目录使用
+
+### 准备MYSQL的配置文件
+
+在 /usr/local/mysql 目录下新建 my.cnf 文件
+
+```bash
+[mysql]
+# 设置mysql客户端默认字符集
+default-character-set=utf8
+socket=/var/lib/mysql/mysql.sock
+[mysqld]
+skip-name-resolve
+#设置3306端⼝
+port = 3306
+socket=/var/lib/mysql/mysql.sock
+# 设置mysql的安装目录
+basedir=/usr/local/mysql
+# 设置mysql数据库的数据的存放目录
+datadir=/usr/local/mysql/data
+# 允许最⼤连接数
+max_connections=200
+# 允许最大包大小
+max_allowed_packet=1024M
+# 服务端使用的字符集默认为8⽐特编码的latin1字符集
+character-set-server=utf8
+# 创建新表时将使用的默认存储引擎
+default-storage-engine=INNODB
+#lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
+#lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
+#lower_case_table_names=2 表名存储为给定的大小写但是比较的时候是小写的
+lower_case_table_names=1
+############################## 日 志 配 置 ##############################
+#二进制日志目录
+server-id=99
+log-bin = /usr/local/mysql/log/mysql-bin
+#自动删除过期日志的天数
+expire_logs_days = 10
+#限制单个文件大小
+max_binlog_size = 100M
+
+#查询日志
+general_log = 1
+#查询日志文件位置
+general_log_file = /usr/local/mysql/log/query.log
+#慢查询日志
+slow_query_log = 1
+#慢日志文件位置
+slow_query_log_file = /usr/local/mysql/log/slow-query.log
+#超过2秒记录
+long-query_time = 2
+#错误日志
+log-error = /usr/local/mysql/log/error.log
+
+```
+
+### 修改MYSQL目录的归属用户
+
+```bash
+chown -R mysql:mysql /usr/local/mysql
+```
+
+同时使用如下命令创建 /var/lib/mysql 目录,并修改权限:
+
+```
+mkdir /var/lib/mysql
+chmod 777 /var/lib/mysql
+```
+
+### 正式开始安装MYSQL
+
+执行如下命令正式开始初始化安装:
+
+```bash
+cd /usr/local/mysql
+./bin/mysqld --defaults-file=/usr/local/mysql//my.cnf --initialize --user=mysql
+```
+
+注意:这里也可以使用
+
+```bash
+./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
+```
+
+来进行初始化,但这样会在`/etc/`下自动生成一个my.cnf,而不使用`/usr/local/mysql`下的配置文件
+
+### 复制启动脚本到资源目录
+
+执行如下命令复制:
+
+```bash
+cp ./support-files/mysql.server /etc/init.d/mysqld
+```
+
+并修改 /etc/init.d/mysqld ,修改其 basedir 和 datadir 为实际对应目录:
+
+```bash
+vim /etc/init.d/mysqld
+basedir=/usr/local/mysql
+datadir=/usr/local/mysql/data
+```
+
+### 设置MYSQL系统服务并开启自启
+
+首先增加 mysqld 服务控制脚本执行权限:
+
+```bash
+chmod +x /etc/init.d/mysqld
+```
+
+同时将 mysqld 服务加入到系统服务:
+
+```bash
+chkconfig --add mysqld
+```
+
+最后检查 mysqld 服务是否已经生效即可:
+
+```bash
+chkconfig --list mysqld
+```
+
+
+
+这样就表明 mysqld 服务已经生效了,在2、3、4、5运行级别随系统启动⽽自动启动,以后可以直接使用 service 命令控制 mysql 的启停。
+
+### 启动MYSQLD
+
+直接执行:
+
+```bash
+service mysqld start
+```
+
+
+
+
+
+### MYSQL 的 BIN 目录加入 PATH 环境变量
+
+这样⽅便以后在任意目录上都可以使用 mysql 提供的命令。
+
+编辑 `~/.bash_profile` 文件,在文件末尾处追加如下信息:
+
+```bash
+export PATH=$PATH:/usr/local/mysql/bin
+```
+
+最后执行如下命令使环境变量生效
+
+```bash
+source ~/.bash_profile
+```
+
+### 首次登陆MYSQL
+
+以 root 账户登录 mysql ,使用上文安装完成提示的密码进行登入,如果并未显示,使用下面命令来查询
+
+```bash
+grep "pass" /usr/local/mysql/log/error.log
+```
+
+```bash
+mysql -u root -p
+```
+
+### 修改ROOT账户密码
+
+在mysql的命令行执行如下命令即可,密码可以换成你想用的密码即可:
+
+```sql
+mysql> set password=password("mypassword123");
+mysql> flush privileges;
+```
+
+### 设置远程主机登录
+
+```sql
+mysql> use mysql;
+mysql> update user set user.Host='%' where user.User='root';
+mysql> flush privileges;
+```
+
+或者
+
+```bash
+mysql> grant all privileges on *.* to 'root'@'%' identified by 'mypassword123';
+mysql> flush privileges;
+```
+
+### 最后利用NAVICAT等工具进行测试即可:
+
+
+
+## 7.REDIS缓存安装部署
+
+### 首先下载并解压REDIS安装包
+
+1、在 /usr/local/ 下创建 redis 文件夹并进入
+
+```bash
+mkdir -p /usr/local/redis
+cd /usr/local/redis
+```
+
+2、下载并解压REDIS安装包
+
+```bash
+wget https://mirror.liuyan.wang/download/redis/redis-5.0.8.tar.gz
+tar zxvf redis-5.0.8.tar.gz -C ./
+```
+
+解压完之后, /usr/local/redis 目录中会出现一个 redis-5.0.8 的目录
+
+### 编译并安装
+
+```bash
+cd redis-5.0.8/
+make && make instal
+```
+
+> 如果报错 cc: command not found,执行 yum -y install gcc gcc-c++ libstdc++-devel ;然后make distclean,再make clean,然后重新编译
+
+### 将 REDIS 安装为系统服务并后台启动
+
+进入 utils 目录,并执行如下脚本即可:
+
+```bash
+[root@localhost redis-5.0.8]# cd utils/
+[root@localhost utils]# ./install_server.sh
+```
+
+此处全部选择的默认配置即可,有需要可以按需定制
+
+
+
+### 查看REDIS服务启动情况
+
+直接执行如下命令来查看Redis的启动结果:
+
+```bash
+systemctl status redis_6379.service
+```
+
+
+
+启动自带的 redis-cli 客户端,测试通过
+
+
+
+但是此时只能在本地访问,⽆法远程连接,因此还需要做部分设置
+
+### 设置允许远程连接
+
+编辑 redis 配置文件
+
+```bash
+vim /etc/redis/6379.conf
+```
+
+bind 127.0.0.1 修改为 0.0.0.0
+
+
+
+然后重启 Redis 服务即可:
+
+```bash
+systemctl restart redis_6379.service
+```
+
+### 设置访问密码
+
+编辑 redis 配置文件
+
+```bash
+vim /etc/redis/6379.conf
+```
+
+找到如下内容:
+
+```bash
+...
+#requirepass foobared
+...
+```
+
+去掉注释,将 foobared 修改为自⼰想要的密码,保存
+
+```bash
+requirepass mypassword123
+```
+
+保存,重启 Redis 服务
+
+```bash
+systemctl restart redis_6379.service
+```
+
+这样后续的访问需要先输入密码认证通过:
+
+
+
+## 8.消息队列RABBITMQ安装部署
+
+### 首先安装ERLANG环境
+
+因为 RabbitMQ 需要 erlang 环境的⽀持,所以必须先安装 erlang
+
+我们这里要安装的是 `erlang-22.3.3-1.el7.x86_64.rpm` ,所以首先执行如下命令来安装其对应的yum repo :
+
+```bash
+curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | bash
+```
+
+
+
+接下来执行如下命令正式安装 erlang 环境:
+
+```bash
+yum -y install erlang-22.3.3-1.el7.x86_64
+```
+
+
+
+接着上面提示再次执行如下命令:
+
+```bash
+yum load-transaction /tmp/yum_save_tx.2020-05-14.22-21.n0cwzm.yumtx
+```
+
+
+
+接下来可以直接执行如下命令,测试 erlang 是否安装成功:
+
+```bash
+erl
+```
+
+
+
+### 安装RABBITMQ
+
+接下来正式开始安装 rabbitmq ,首先依然是安装其对应的 yum repo :
+
+```bash
+curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
+```
+
+
+
+然后执行如下命令正式安装 rabbitmq :
+
+```bash
+yum -y install rabbitmq-server-3.8.3-1.el7.noarch
+```
+
+
+
+
+
+### 设置RABBITMQ开机启动
+
+```bash
+chkconfig rabbitmq-server on
+```
+
+### 启动RABBITMQ服务
+
+```bash
+systemctl start rabbitmq-server.service
+```
+
+### 开启WEB可视化管理插件:
+
+```bash
+rabbitmq-plugins enable rabbitmq_management
+```
+
+### 访问可视化管理界面:
+
+浏览器输入: 你的服务器IP:15672
+
+
+
+能看到⽹⻚登录入⼝即可。
+
+我们可以在后台先添加一个用户/密码对:
+
+```bash
+rabbitmqctl add_user codesheep 123456
+rabbitmqctl set_user_tags codesheep administrator
+```
+
+然后登录⽹⻚即可:
+
+
+
+## 9.应用服务器TOMCAT安装部署
+
+### 下载并解压安装包
+
+```bash
+mkdir -p /usr/local/tomcat
+cd /usr/local/tomcat
+wget https://mirror.liuyan.wang/download/tomcat/apache-tomcat-8.5.55.tar.gz
+```
+
+```bash
+mkdir -p /usr/local/tomcat
+cd /usr/local/tomcat
+tar -zxvf apache-tomcat-8.5.55.tar.gz -C ./
+```
+
+解压完之后, /usr/local/tomcat 目录中会出现一个 apache-tomcat-8.5.55 的目录
+
+### 启动TOMCAT
+
+直接进 apache-tomcat-8.5.55 目录,执行其中 bin 目录下的启动脚本即可
+
+```bash
+[root@localhost apache-tomcat-8.5.55]# cd /usr/local/tomcat/bin/
+[root@localhost bin]# ./startup.sh
+```
+
+
+
+这时候浏览器访问: 主机IP:8080 ,得到如下画面说明成功启动了
+
+
+
+### 配置快捷操作和开机启动
+
+进入 /etc/rc.d/init.d 目录,创建一个名为 tomcat 的文件,并赋予执行权限
+
+```bash
+[root@localhost ~]# cd /etc/rc.d/init.d/
+[root@localhost init.d]# touch tomcat
+[root@localhost init.d]# chmod +x tomcat
+```
+
+接下来编辑 tomcat 文件,并在其中加入如下内容:
+
+```bash
+#!/bin/bash
+#chkconfig:- 20 90
+#description:tomcat
+#processname:tomcat
+TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5.55
+case $1 in
+ start) su root $TOMCAT_HOME/bin/startup.sh;;
+ stop) su root $TOMCAT_HOME/bin/shutdown.sh;;
+ *) echo "require start|stop" ;;
+esac
+```
+
+这样后续对于Tomcat的开启和关闭只需要执行如下命令即可:
+
+```bash
+service tomcat start
+service tomcat stop
+```
+
+最后加入开机启动即可:
+
+```bash
+chkconfig --add tomcat
+chkconfig tomcat on
+```
+
+## 10.WEB服务器NGINX安装部署
+
+### 首先安装包并解压
+
+这里下载的是 nginx-1.18.0.tar.gz 安装包,并将其直接放在了 /usr/src 目录下
+
+```
+wget https://mirror.liuyan.wang/download/nginx/nginx-1.18.0.tar.gz -P /usr/src
+```
+
+1、进入 /usr/src
+
+```bash
+cd /usr/src
+```
+
+2、将 Nginx 安装包解压
+
+```bash
+tar xvf nginx-1.18.0.tar.gz -C ./
+```
+
+解压完之后, /usr/src 目录中会出现一个 `nginx-1.18.0` 的目录
+
+### 预先安装额外的依赖
+
+```bash
+yum -y install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel
+```
+
+### 添加nginx用户
+
+```bash
+useradd nginx -s /sbin/nologin -M
+```
+
+
+
+### 编译安装NGINX
+
+```bash
+cd /usr/src/nginx-1.18.0
+./configure --prefix=/usr/local/nginx --pid-path=/usr/local/nginx/log/nginx.pid --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-http_realip_module --with-http_sub_module --with-stream
+```
+
+```bash
+make
+make install
+```
+
+安装完成后,Nginx的可执行文件位置位于
+
+```bash
+/usr/local/nginx/sbin/nginx
+```
+
+### 启动NGINX
+
+直接执行如下命令即可:
+
+```bash
+/usr/local/nginx/sbin/nginx
+```
+
+如果想停⽌Nginx服务,可执行:
+
+```bash
+/usr/local/nginx/sbin/nginx -s stop
+```
+
+如果修改了配置文件后想重新加载Nginx,可执行:
+
+```bash
+/usr/local/nginx/sbin/nginx -s reload
+```
+
+注意其配置文件位于:
+
+```bash
+/usr/local/nginx/conf/nginx.conf
+```
+
+### 浏览器验证启动情况
+
+
+
+## 11.DOCKER环境安装
+
+### 卸载旧版本
+
+较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
+
+```bash
+yum -y remove docker \
+ docker-client \
+ docker-client-latest \
+ docker-common \
+ docker-latest \
+ docker-latest-logrotate \
+ docker-logrotate \
+ docker-engine
+```
+
+### 设置仓库
+
+安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
+
+```bash
+yum install -y yum-utils device-mapper-persistent-data lvm2
+```
+
+**使用以下命令来设置稳定的仓库。**
+
+阿里云
+
+```bash
+yum-config-manager \
+ --add-repo \
+ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
+```
+
+清华大学源
+
+```bash
+yum-config-manager \
+ --add-repo \
+ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
+```
+
+### 安装 Docker
+
+```bash
+yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
+```
+
+**如果要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:**
+
+```bash
+$yum list docker-ce --showduplicates | sort -r
+
+docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
+docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
+docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
+docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
+
+$yum install docker-ce- docker-ce-cli- containerd.io
+```
+
+### 启动 Docker并设置开机自启
+
+```bash
+systemctl start docker
+systemctl enable docker
+```
+
+## 12.ELASTICSEARCH集群部署
+
+### 环境准备
+
+- **节点准备**
+
+本文准备搭建 **双节点** Elasticsearch集群(用双节点仅仅是做演示),因此这里准备了两台 Linux CentOS 7.4 64bit 机器:
+
+> - 节点1: 192.168.31.8
+>
+> - 节点2: 192.168.31.9
+
+- **Elasticsearch** **安装包准备**
+
+这里下载的是: `6.4.2` 版
+
+```bash
+wget https://mirror.liuyan.wang/download/elasticsearch/elasticsearch-6.4.2.tar.gz
+```
+
+- **安装目录准备**
+
+这里拟将 Elasticsearch安装在 /opt/elasticsearch 目录下:
+
+```bash
+mkdir /opt/elasticsearch
+```
+
+将压缩包复制到该目录下并解压:
+
+```bash
+cp elasticsearch-6.4.2.tar.gz /opt/elasticsearch/
+cd /opt/elasticsearch
+tar xvf elasticsearch-6.4.2.tar.gz
+```
+
+### ELASTICSEARCH 集群配置
+
+需要修改两个节点上的配置文件 `elasticsearch.yml`
+
+- **节点1配置**
+
+```yml
+cluster.name: escluster # 集群名称
+node.name: sheep1 # 节点名
+network.host: 192.168.31.8 # 绑定的节点1地址
+network.bind_host: 0.0.0.0 # 此项不设置你试试本机可能访问不了啊
+discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] #hosts列表
+discovery.zen.minimum_master_nodes: 1
+## 如下配置是为了解决 Elasticsearch可视化工具 dejavu的跨域问题!若不用可视化工具则可省略之
+http.port: 9200
+http.cors.allow-origin: "http://192.168.199.76:1358"
+http.cors.enabled: true
+http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
+http.cors.allow-credentials: true
+```
+
+- **节点2配置**
+
+
+```bash
+cluster.name: escluster # 集群名称
+node.name: sheep1 # 节点名
+network.host: 192.168.31.9 # 绑定的节点2地址
+network.bind_host: 0.0.0.0
+discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] #
+hosts列表
+discovery.zen.minimum_master_nodes: 1
+## 如下配置是为了解决 Elasticsearch可视化工具 dejavu的跨域问题!若不用可视化工具则可省略之
+http.port: 9200
+http.cors.allow-origin: "http://192.168.199.76:1358"
+http.cors.enabled: true
+http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
+http.cors.allow-credentials: true
+```
+
+### 集群启动前准备
+
+- **创建用户及用户组**
+
+由于 Elasticsearch不能以 root用户启动,因此需要添加⾮ root用户:
+
+```bash
+groupadd es
+useradd es -g es
+chown -R es:es ./elasticsearch-6.4.2
+```
+
+- **关闭防火墙**
+
+```bash
+systemctl stop firewalld
+systemctl disable firewalld
+```
+
+### 启动 ELASTICSEARCH集群
+
+- **切换用户**
+
+```bash
+su es
+```
+
+
+
+- **分别在 节点1和 节点2上启动ES服务**
+
+```bash
+cd bin
+./elasticsearch // 若要后台启动,则加-d参数
+```
+
+- **浏览器访问:http://ip:9200/ 查看启动效果**
+
+
+
+> 报错:**max file descriptors [4096] for elasticsearch process is too low**
+
+解决办法:
+
+```bash
+vim /etc/security/limits.conf
+```
+
+使用root用户把以下配置加到文件末尾,再登录es用户尝试启动
+
+```bash
+es soft nofile 65536
+es hard nofile 65536
+```
+
+
+
+> 报错:**max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]**
+
+解决办法:
+
+```bash
+echo 262144 > /proc/sys/vm/max_map_count
+```
+
+- **命令行查看集群信息**
+
+
+
+## 13.ZOOKEEPER安装部署
+
+### 准备安装包
+
+这里使用的是 3.6.1 版,下载的是 apache-zookeeper-3.6.1-bin.tar.gz 压缩包,并将其放在了 /usr/src 目录下
+
+```bash
+wget https://mirror.liuyan.wang/download/zookeeper/apache-zookeeper-3.6.1-bin.tar.gz -P /usr/src
+```
+
+### 解压并安装
+
+/usr/local/ 下创建 zookeeper 文件夹并进入
+
+```bash
+mkdir -p /usr/local/zookeeper
+cd /usr/local/zookeeper
+```
+
+将 ZooKeeper 安装包解压到 /usr/local/zookeeper 中即可
+
+```bash
+[root@localhost zookeeper]# tar -zxvf /usr/src/apache-zookeeper-3.6.1-bin.tar.gz -C ./
+```
+
+解压完之后, /usr/local/zookeerper 目录中会出现一个 apache-zookeeper-3.6.1-bin 的目录
+
+ 直接在该目录下创建个data目录
+
+```bash
+mkdir -p apache-zookeeper-3.6.1-bin/data
+```
+
+
+
+
+
+等下该 data 目录地址要配到 ZooKeeper 的配置文件中:
+
+### 创建配置文件并修改
+
+进入到 zookeeper 的 conf 目录,复制 zoo_sample.cfg 得到 zoo.cfg :
+
+```bash
+[root@localhost apache-zookeeper-3.6.1-bin]# cd conf/
+[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
+```
+
+修改配置文件 zoo.cfg ,将其中的 dataDir 修改为上面刚创建的 data 目录,其他选项可以按需配置
+
+
+
+### 启动ZOOKEEPER
+
+```bash
+[root@localhost apache-zookeeper-3.6.1-bin]# ./bin/zkServer.sh start
+```
+
+
+
+启动后可以通过如下命令来检查启动后的状态:
+
+[root@localhost apache-zookeeper-3.6.1-bin]# ./bin/zkServer.sh status
+
+
+
+从图中也可以看出zookeeper默认会绑定端⼝ 2181 。
+
+### 配置环境变量
+
+编辑配置文件:
+
+```bash
+vim /etc/profile
+```
+
+尾部加入 ZooKeeper 的 bin 路径配置即可
+
+```bash
+export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.6.1-bin
+export PATH=$PATH:$ZOOKEEPER_HOME/bin
+```
+
+最后执行 source /etc/profile 使环境变量生效即可。
+
+### 设置开机自启
+
+首先进入 /etc/rc.d/init.d 目录,创建一个名为 zookeeper 的文件,并赋予执行权限
+
+```bash
+[root@localhost ~]# cd /etc/rc.d/init.d/
+[root@localhost init.d]# touch zookeeper
+[root@localhost init.d]# chmod +x zookeeper
+```
+
+接下来编辑 zookeeper 文件,并在其中加入如下内容:
+
+```bash
+#!/bin/bash
+#chkconfig:- 20 90
+#description:zookeeper
+#processname:zookeeper
+ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.6.1-bin
+export JAVA_HOME=/usr/local/java/jdk1.8.0_161 # 此处根据你的实际情况更换对应
+case $1 in
+ start) su root $ZOOKEEPER_HOME/bin/zkServer.sh start;;
+ stop) su root $ZOOKEEPER_HOME/bin/zkServer.sh stop;;
+ status) su root $ZOOKEEPER_HOME/bin/zkServer.sh status;;
+ restart) su root $ZOOKEEPER_HOME/bin/zkServer.sh restart;;
+ *) echo "require start|stop|status|restart" ;;
+esac
+```
+
+最后加入开机启动即可:
+
+```bash
+chkconfig --add zookeeper
+chkconfig zookeeper on
+```
+
+## 14.消息队列KAFKA安装部署
+
+### 首先准备ZOOKEEPER服务
+
+因为 Kafka 的运行环境依赖于 ZooKeeper ,所以首先得安装并运行 ZooKeeper ,这个可以参考上面的内容。
+
+### 准备KAFKA安装包
+
+这里下载的是 2.5.0 版: kafka_2.12-2.5.0.tgz ,将下载后的安装包放在了 /usr/src 目录下
+
+```bash
+wget https://mirror.liuyan.wang/download/kafka/kafka_2.12-2.5.0.tgz -P /usr/src
+```
+
+### 解压并安装
+
+在 /usr/local/ 下创建 kafka 文件夹并进入
+
+```bash
+mkdir -p /usr/local/kafka
+cd /usr/local/kafka
+```
+
+将Kafka安装包解压到 /usr/local/kafka 中即可
+
+```bash
+[root@localhost kafka]# tar -zxvf /usr/src/kafka_2.12-2.5.0.tgz -C ./
+```
+
+解压完之后, /usr/local/kafka 目录中会出现一个 kafka_2.12-2.5.0 的目录
+
+### 创建LOGS目录
+
+这里直接在 /usr/local/kafka/kafka_2.12-2.5.0 目录中创建一个 logs 目录
+
+```bash
+mkdir -p /usr/local/kafka/kafka_2.12-2.5.0/log
+```
+
+
+
+等下该 logs 目录地址要配到Kafka的配置文件中。
+
+### 修改配置文件
+
+进入到 Kafka 的 config 目录,编辑配置文件 server.properties
+
+```bash
+[root@localhost kafka_2.12-2.5.0]# cd config/
+[root@localhost config]# vim server.properties
+```
+
+修改配置文件,一是将其中的 log.dirs 修改为上面刚创建的 logs 目录,其他选项可以按需配置
+
+
+
+另外关注一下连接 ZooKeeper 的相关配置,根据实际情况进行配置:
+
+
+
+### 启动KAFKA
+
+执行如下命令即可:
+
+```bash
+cd /usr/local/kafka/kafka_2.12-2.5.0
+./bin/kafka-server-start.sh ./config/server.properties
+```
+
+
+
+> 如果需要后台启动,则加上 -daemon 参数即可
+
+### 实验验证
+
+首先创建一个名为 topic 的 topic :
+
+
+
+创建完成以后,可以使用命令来列出目前已有的 topic 列表
+
+```
+cd /usr/local/kafka/kafka_2.12-2.5.0
+./bin/kafka-topics.sh --list --bootstrap-server localhost:9092
+```
+
+接下来创建一个**生产者**,用于在 topic 这个 topic 上生产消息:
+
+```bash
+cd /usr/local/kafka/kafka_2.12-2.5.0
+./bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic topic
+```
+
+⽽后接着创建一个**消费者**,用于在 codesheep 这个 topic 上获取消息:
+
+```bash
+cd /usr/local/kafka/kafka_2.12-2.5.0
+./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic
+```
+
+此时生产者发出的消息,在消费者端可以获取到:
+
+
+
+## 15.数据库mongodb安装部署
+
+### 下载mongodb包并解压
+
+```bash
+cd /usr/local
+wget https://mirror.liuyan.wang/download/mongodb/mongodb-linux-x86_64-3.6.17.tgz
+tar -zxvf mongodb-linux-x86_64-rhel70-3.6.17.tgz
+mv mongodb-linux-x86_64-rhel70-3.6.17.tgz mongodb
+```
+
+然后 在/usr/local/mongodb目录下新建data目录,在data目录下新建db目录、logs目录,并新建mongodb.conf文件,后续会用到,建完之后,赋予权限。
+
+```bash
+chmod +x -R /usr/local/mongodb
+```
+### 初始化配置
+
+首先,修改/usr/local/mongodb/data/目录下的mongodb.conf文件,设置部分基础的参数,修改后保存。
+
+```json
+systemLog:
+ destination: file
+ path: "/usr/local/mongodb/data/logs/mongodb.log"
+ logAppend: true
+storage:
+ dbPath: "/usr/local/mongodb/data/db/"
+ journal:
+ enabled: true
+processManagement:
+ fork: true
+ pidFilePath: "/usr/local/mongodb/data/mongodb.pid"
+net:
+ bindIp: 0.0.0.0
+ port: 27017
+ maxIncomingConnections: 3000
+setParameter:
+ enableLocalhostAuthBypass: false
+#security:
+# authorization: enabled
+
+```
+修改配置文件后,启动mongodb数据库,启动数据库后,可以无密码本地访问、远程访问。
+
+```bash
+/usr/local/mongodb/bin/mongod --config=/usr/local/mongodb/data/mongodb.conf --fork
+```
+
+
+启动数据库后,进入数据库进行配置,新增远程访问账户
+
+```json
+use admin
+db.createUser({user:"root",pwd:"mypassword",roles:[{role:"root",db:"admin"}]})
+db.auth("root","mypassword")
+```
+同时,还要修改配置文件,设置远程访问。把配置文件中的注释项修改。
+
+```json
+#security:
+ authorization: enabled
+```
+修改后,关闭数据并重启数据库
+
+#查询进程
+ps -ef|grep mongodb
+
+关闭mongodb数据库(注意:要用-2参数,不要使用-9参数,区别请查询相关信息)
+
+```bash
+kill -2 进程号
+/usr/local/mongodb/bin/mongod --config=/usr/local/mongodb/data/mongodb.conf --fork
+```
+
+> 然后使用Robo 3T工具进行远程测试:
+
+
+### 添加mongodb服务
+
+使用下面命令进行启动,并且查询进程号关闭比较麻烦,可以把mongodb添加到系统服务,这样就可以直接使用系统命令进行启动关闭。
+
+```bash
+/usr/local/mongodb/bin/mongod --config=/usr/local/mongodb/data/mongodb.conf –fork
+```
+首先,在/usr/lib/systemd/system/目录下新增一个mongodb.service,并新增如下内容。
+```bash
+vim /usr/lib/systemd/system/mongodb.service
+
+[Unit]
+Description=mongodb
+After=network.target
+[Service]
+Type=forking
+ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/data/mongodb.conf
+PrivateTmp=true
+[Install]
+WantedBy=multi-user.target
+
+chmod +x /usr/lib/systemd/system/mongodb.service
+```
+配置后,就可以使用systemctl start|stop|status mongodb.service进行启动关闭。
+当然,你也可以配置service start|stop|status mongodb进行数据库操作,具体请自行查找(上面其他步骤中有使用)。
+
+### 设置一个超级管理员账户
+
+设置一个超级管理员账户,对于所有库具有读写权限
+
+**①切换admin库,进行用户创建**
+
+```json
+use admin
+db.createUser({user:"root",pwd:"root",roles:["root"]})
+```
+
+**②关闭mongod服务,重启添加权限参数并启动**
+
+
+在启动脚本中加入--auth参数
+
+```json
+/usr/local/mongodb/bin/mongod --auth --config=/usr/local/mongodb/data/mongodb.conf –fork
+```
+
+## 16.memcache安装部署
+
+## 首先获取安装包
+
+```bash
+wget https://mirror.liuyan.wang/download/memcached/memcached-1.5.22.tar.gz -P /usr/src
+```
+
+### 解压并进入安装包
+
+```bash
+cd /usr/src
+tar xvf memcached-1.5.22.tar.gz
+cd memcached-1.5.22
+```
+
+### 安装依赖
+
+```bash
+yum -y install libevent-devel
+```
+
+### 编译安装memcached
+
+```bash
+./configure --prefix=/usr/local/memcached
+make && make install
+```
+
+### 查看软件启动参数,并启动
+
+```bash
+cd /usr/local/memcached/bin
+./memcached -h
+```
+
+> -p是设置Memcache监听的端口,最好是1024以上的端口;
+>
+> -d是启动一个守护进程;
+>
+> -m是分配给Memcache使用的内存数量,单位是MB;
+>
+> -u是运行Memcache的用户;
+>
+> -l是监听的服务器IP地址,可以有多个地址;
+>
+> -c是最大运行的并发连接数,默认是1024;
+>
+> -P是设置保存Memcache的pid文件
+
+### 启动memcached
+
+```bash
+#进入memcached文件目录
+cd /usr/local/memcached/bin
+#后台启动memcached 可以创建一个普通用户(memcached) 用来启动管理memcached软件
+./memcached -uroot -d
+#进程查看是否启动成功
+ps aux |grep memcached
+```
+
+...未完待续