下面的环境都是centOS7.4为例
通过包管理器安装
# 当然通过这种⽅式安装的 Git 可能不是较新版的 Git
yum install git
如果想安装较新版本的 Git ,则需要⾃⾏下载 Git 源码来编译安装
这⾥选择安装的是 2.26.2 版,将下载好的安装包 v2.26.2.tar.gz
直接放在了 root ⽬录下
然后将其本地解压,得到 git-2.26.2 ⽬录:
tar -zxvf v2.26.2.tar.gz # 解压
# 提前安装所需要的依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-
devel gcc-c++ perl-ExtUtils-MakeMake
# 进⼊到对应⽬录,执⾏配置、编译、安装命令即可,如下所示:
[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
然后将git放入环境变量中
vim /etc/profile # 进入环境变量文件
# 尾部加入环境变量的配置
export GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin # 表示新的path = 旧的path + git的bin路径
# wq 保存退出
source /etc/profile # 使得环境变量生效
git --version # 查看安装后的版本
这⾥下载的是 jdk-8u161-linux-x64.tar.gz
安装包,并将其直接放在了 root ⽬录下
先卸载原有的openJDK(如果有)
rpm -qa | grep java # 在当前的机器中找java
# 如果找到的话,将原来的都卸载掉
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
... 省略 ...
创建目录并解压
# 在 /usr/local/ 下创建 java ⽂件夹并进⼊
cd /usr/local/ # 进入/usr/local/
mkdir java # 创建 java ⽂件夹
cd java # 进入这个java文件夹
tar -zxvf /root/jdk-8u161-linux-x64.tar.gz -C ./ # 解压
配置JDK环境并验证
vim /etc/profile # 进入环境变量文件
JAVA_HOME=/usr/local/java/jdk1.8.0_161 # 声明JAVA所在的目录
CLASSPATH=$JAVA_HOME/lib/ # 指定lib的位置
PATH=$PATH:$JAVA_HOME/bin # # 表示新的path = 旧的path + JDK的bin路径
export PATH JAVA_HOME CLASSPATH # 将这三个都暴露出去
# wq保存退出后
source /etc/profile # 使得环境变量立即生效
# 验证是否安装成功
java -version
javac
这⾥下载的是 node-v12.16.3-linux-x64.tar.xz
安装包,并将其直接放在了 root ⽬录下
先创建文件夹并解压
# 在 /usr/local/ 下创建 node ⽂件夹并进⼊
cd /usr/local/ # 进入/usr/local/
mkdir node # 创建node文件夹
cd node # 进入node文件夹
tar -xJvf /root/node-v12.16.3-linux-x64.tar.xz -C ./ # 解压压缩包,得到解压文件
配置NODE系统环境变量并验证
vim ~/.bash_profile # 准备编辑~/.bash_profile
# 在文本末尾编辑
export PATH=/usr/local/node/node-v12.16.3-linux-x64/bin:$PATH
# wq保存退出后
source ~/.bash_profile # 使得环境变量立即生效
# 验证是否安装成功
node -v # 查看node版本
npm version # 查看npm版本
npx -v # 查看npx版本
这⾥下载的是 Python-3.8.3.tgz
安装包,并将其直接放在了 /root ⽬录下
先对压缩包进行解压
tar -zxvf Python-3.8.3.tgz
安装相关预备环境
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
编译并安装,这⾥指定了安装⽬录为 /usr/local/python3 ,有需要可以⾃定义
cd Python-3.8.3/ # 进入 Python 源代码所在的目录
# 运行 configure 脚本,检查你的系统环境(如编译器、依赖库等),并生成 Makefile
# --prefix=/usr/local/python3 => 指定 Python 的安装路径为 /usr/local/python3。
./configure --prefix=/usr/local/python3
# make => 根据 configure 生成的 Makefile 编译 Python 源代码。
# make install => 将编译好的文件安装到 --prefix 指定的路径(/usr/local/python3)
make && make install
还需要将刚刚安装⽣成的⽬录 /usr/local/python3 ⾥的 python3 可执⾏⽂件做⼀份软链接,链接到 /usr/bin 下,⽅便后续使⽤python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
# 然后输入python3验证是否安装成功
python3
这⾥下载的是 apache-maven-3.6.3-bin.tar.gz
安装包,并将其放置于提前创建好的/opt/maven
⽬录下。
先解压压缩包
tar -zxvf apache-maven-3.6.3-bin.tar.gz
配置MAVEN加速镜像源
编辑修改 /opt/maven/apache-maven-3.6.3/conf/settings.xml
文件
<mirror>
<id>alimavenid>
<name>aliyun mavenname>
<url>http://maven.aliyun.com/nexus/content/groups/public/url>
<mirrorOf>centralmirrorOf>
mirror>
配置环境变量并验证
编辑修改 /etc/profile
⽂件,在⽂件尾部添加如下内容,配置 maven 的安装路径
vim /etc/profile
export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
source /etc/profile
# 验证是否安装成功
mvn –v
这⾥下载的是 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
安装包,并将其直接放在了 root⽬录下
如果系统之前⾃带 Mariadb ,可以先卸载之。
rpm -qa|grep mariadb
# 如果有,全部卸载
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安装包
# 解压并放入到/usr/local/
tar -zxvf /root/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql # 重命名
创建MYSQL⽤户和⽤户组
# 在mysql目录下
groupadd mysql
useradd -g mysql mysql
# 同时创建/usr/local/mysql/data⽬录,后续备⽤
# 在mysql目录下,修改MYSQL⽬录的归属⽤户
chown -R mysql:mysql ./
准备MYSQL的配置⽂件,在 /etc
⽬录下新建 my.cnf
⽂件
[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
# 服务端使⽤的字符集默认为8⽐特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使⽤的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
同时使⽤如下命令创建 /var/lib/mysql
⽬录,并修改权限:
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
下面正式安装mysql
cd /usr/local/mysql # 进入mysql文件夹
# 执行脚本,并进行一些初始化工作
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
⚠️ 记住上⾯打印出来的 root 的密码,后⾯⾸次登陆需要使⽤
复制启动脚本到资源⽬录
cp ./support-files/mysql.server /etc/init.d/mysqld # 复制
# 并修改 /etc/init.d/mysqld ,修改其 basedir 和 datadir 为实际对应⽬录
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
设置MYSQL系统服务并开启⾃启
# ⾸先增加 mysqld 服务控制脚本执⾏权限:
chmod +x /etc/init.d/mysqld
# 同时将 mysqld 服务加⼊到系统服务:
chkconfig --add mysqld
# 最后检查 mysqld 服务是否已经⽣效即可:
chkconfig --list mysqld
# 启动mysql
service mysqld start
将 MYSQL 的 BIN ⽬录加⼊ PATH 环境变量
vim ~/.bash_profile
export PATH=$PATH:/usr/local/mysql/bin
source ~/.bash_profile
登录mysql并修改密码
# 以 root 账户登录 mysql ,使⽤上⽂安装完成提示的密码进⾏登⼊
mysql -u root -p
mysql> alter user user() identified by "111111"; # 这里换成你想换的密码
mysql> flush privileges; # 使得更改立即生效
设置远程主机登录
mysql> use mysql; # 使用的数据库是mysql
mysql> update user set user.Host='%' where user.User='root'; # 说明root账户堆所有的角色生效
mysql> flush privileges; # 使得更改立即生效
然后就可以使用navicat等可视化工具访问了
这⾥下载的是 redis-5.0.8.tar.gz
安装包,并将其直接放在了 root ⽬录下
先解压,安装
cd /usr/local/
mkdir redis # 创建一个redis目录,用于存放一会解压的redis
cd redis # 进入这个目录
tar -zxvf /root/redis-5.0.8.tar.gz -C ./ # 解压压缩包到redis目录
解压完之后, /usr/local/redis ⽬录中会出现⼀个 redis-5.0.8 的⽬录
下面进行编译安装:
cd redis-5.0.8/ # 进入解压后的目录
make && make install # make -> 编译, make install 安装
将 REDIS 安装为系统服务并后台启动, 进⼊ utils ⽬录,并执⾏如下脚本即可
cd utils/
./install_server.sh # 执行脚本,对于选项一般全部默认就可以了,可以按需写
查看结果和测试客户端
systemctl status redis_6379.service # 查看启动的结果
# 启动⾃带的 redis-cli 客户端,测试通过:
redis-cli
# 设置远程连接
vim /etc/redis/6379.conf
# 将bind 127.0.0.1 改成 bind 0.0.0.0 # 表示任意的网络都可以访问本机器的redis
# 然后重启redis服务就可以了
systemctl restart redis_6379.service
还可以设置访问密码(看需求)
# 编辑config
vim /etc/redis/6379.conf
# 将 requirepass foobared 的注释符号去掉,然后后面foobared部分写上自己的密码
# 保存,重启 Redis 服务即可
systemctl restart redis_6379.service
# 后面使用cli客户端的时候,需要【auth 你的密码】进行认证,否则无法使用
因为 RabbitMQ 需要 erlang 环境的⽀持,所以必须先安装 erlang 。
这⾥要安装的是 erlang-22.3.3-1.el7.x86_64.rpm
,所以⾸先执⾏如下命令来安装其对应的yum repo :
# curl -s 以静默模式(不显示进度信息)下载一个安装脚本
# 中间是下载地址
# 将下载的脚本内容直接通过管道(|)传递给 sudo bash,以 root 权限 执行该脚本
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
# 接下来执⾏如下命令正式安装 erlang 环境:
yum install erlang-22.3.3-1.el7.x86_64
# 按照上面的提示!!安装安装事务
yum load-transaction /tmp/yum_save_tx.2020-05-14.22-21.n0cwzm.yumtx
# 然后直接执⾏如下命令,测试 erlang 是否安装成功:
erl
下面安装rabbitMQ
# 依然是安装其对应的 yum repo :
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
# 然后执⾏如下命令正式安装 rabbitmq :
yum install rabbitmq-server-3.8.3-1.el7.noarch
# 设置rabbitMQ开机启动
chkconfig rabbitmq-server on
# 启动rabbitMQ
systemctl start rabbitmq-server.service
# 开启可视化界面的管理,然后访问本机ip:15672即可
rabbitmq-plugins enable rabbitmq_management
# 对于用户界面的登录,可以在后台,先添加用户信息
rabbitmqctl add_user cui 123456
rabbitmqctl set_user_tags cui administrator
这⾥下载的是 nginx-1.17.10.tar.gz
安装包,并将其直接放在了 root ⽬录下
# 在 /usr/local/ 下创建 nginx ⽂件夹并进⼊
cd /usr/local/
mkdir nginx
cd nginx
# 将 Nginx 安装包解压到 /usr/local/nginx 中即可
tar -zxvf /root/nginx-1.17.10.tar.gz -C ./
# 解压完之后, /usr/local/nginx ⽬录中会出现⼀个 nginx-1.17.10 的⽬录
# 预先安装额外的依赖
yum -y install pcre-devel
yum -y install openssl openssl-devel
# 编译安装nginx
cd nginx-1.17.10 # 进入解压后的nginx文件夹
./configure # 执行脚本
make && make install # 编译并安装
# 安装完成后,Nginx的可执⾏⽂件位置位于 -> /usr/local/nginx/sbin/nginx
# 直接执⾏如下命令即可
/usr/local/nginx/sbin/nginx
# 如果想停⽌Nginx服务,可执⾏:
/usr/local/nginx/sbin/nginx -s stop
# 如果修改了配置⽂件后想重新加载Nginx,可执⾏:
/usr/local/nginx/sbin/nginx -s reload
# 注意其配置文件在 -> /usr/local/nginx/conf/nginx.conf
yum install -y docker
# 设置开机启动
systemctl enable docker.service
# 配置DOCKER镜像下载加速
vim /etc/docker/daemon.json # 编辑配置文件
# 在其中加入镜像源地址就可以了
# ⽐如这⾥使⽤的是 ⽹易 的加速源,其他像 阿⾥云 、 DaoCloud 这些也都提供加速源,按需选择即可。
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
# 加完加速地址后,重新加载配置⽂件,重启 docker 服务即可
systemctl daemon-reload
systemctl restart docker.service
这⾥使⽤的是 8.5.55 版: apache-tomcat-8.5.55.tar.gz
,直接将其放在了 /root
⽬录下
# 在 /usr/local/ 下创建 tomcat ⽂件夹并进⼊
cd /usr/local/
mkdir tomcat
cd tomcat
# 将 Tomcat 安装包解压到 /usr/local/tomcat 中即可
tar -zxvf /root/apache-tomcat-8.5.55.tar.gz -C ./
# 解压完之后, /usr/local/tomcat ⽬录中会出现⼀个 apache-tomcat-8.5.55 的⽬录
# 直接进 apache-tomcat-8.5.55 ⽬录,执⾏其中 bin ⽬录下的启动脚本即可
cd /usr/local/tomcat/apache-tomcat-8.5.55/bin/
./startup.sh # 启动脚本
# 这时候访问本机ip:8080,如果出现熟悉的大猫,说明tomcat安装启动成功
配置快捷操作和开机启动
# ⾸先进⼊ /etc/rc.d/init.d ⽬录,创建⼀个名为 tomcat 的⽂件,并赋予执⾏权限
cd /etc/rc.d/init.d/
touch tomcat # 创建一个tomcat的文件
chmod +x tomcat # 赋予执行权限
# 编辑 tomcat ⽂件,并在其中加⼊如下内容:
#!/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的开启和关闭只需要执⾏如下命令即可:
service tomcat start
service tomcat stop
# 最后加⼊开机启动即可:
chkconfig --add tomcat
chkconfig tomcat on
准备搭建 双节点 Elasticsearch集群(⽤双节点仅仅是做演示),因此这⾥准备了两台 Linux
节点1: 192.168.31.8
& 节点2: 192.168.31.9
# 这里选择的是6.4.2版本,按需更改
# 你也可以自己准备好压缩包,就不用从网上下载了
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz
# 这⾥拟将 Elasticsearch安装在 /opt/elasticsearch ⽬录下:
mkdir /opt/elasticsearch
# 然后将压缩包复制到这个目录下并解压
集群配置 -> 需要修改两个节点上的配置⽂件 elasticsearch.yml
节点一配置:
cluster.name: codesheep # 集群名称
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
节点二配置
cluster.name: codesheep # 集群名称
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
集群启动
# 集群启动前的准备
# 因为es不能使用root用户启动,所以这里要创建一个用户专门用于es
groupadd es # 创建一个组es
useradd es -g es # 创建一个用户es,归属于es组
chown -R es:es ./elasticsearch-6.4.2 # 赋予这个用户对于elasticsearch文件夹的所有的权限
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 启动 ELASTICSEARCH集群
su es # 切换到es用户
# 分别在节点1和节点2上启动
cd bin # 分别进入到对应的es bin中
./elasticsearch # 执行脚本,若要后台启动,则加-d参数
# 验证
# 浏览器访问:http://ip:9200/ 查看启动效果 you know, for search!
# 查看集群信息:curl http://127.0.0.1:9200/_cat/allocation?v
# 安装IK分词器 (注意和es版本对应)
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.2/elasticsearch-analysis-ik-6.4.2.zip
# 解压,安装
mkdir /opt/elasticsearch/elasticsearch-6.4.2/plugins/elasticsearch-analysis-ik-6.4.2
# 将IK分词器的压缩包置于上述目录,并解压
unzip elasticsearch-analysis-ik-6.4.2.zip
# 重启es集群,就可以啦
其他ELK相关安装,可以看我的这个文章