一、安装Redis
1、准备
(1)、创建安装包下载文件夹
mkdir redis
2、进入该目录,下载安装包
cd redis
wget https://download.redis.io/releases/redis-6.2.5.tar.gz #redis版本可以访问该网站查找https://download.redis.io/releases/
3、安装redis的依赖环境
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
4、安装redis
(1)、解压安装包
tar -zxvf redis-6.2.5.tar.gz
(2)、进入解压目录进行编译和安装
###################【1、进入指定目录】#######################
cd redis-6.2.5
###################【2、编译源码并且安装到默认目录】#################
make && make install
###################【2、编译源码并且安装到指定目录】####
make PREFIX=/usr/local/redis6 install
5、启动Redis
(1)、修改redis.conf配置文件
###############【1、将里面的daemonize no改成 yes;“守护进程”】#####################
daemonize yes
###############【2、将protected-mode yes,改为no;“保护模式”】#####################
protected-mode no
###############【3、允许远程访问】#####################
bind 0.0.0.0
###############【4、配置密码(选填)】#####################
requirepass password
(2)、启动基于配置文件的redis
./redis-server ./redis.conf
(3)、处理防火墙规则
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-port
(4)、远程工具测试连接
6、设置开机自启
(1)、创建服务
vim /etc/systemd/system/redis.service
(2)、写入服务 配置对应的路径
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /etc/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- Description:描述服务
- After:描述服务类别
[Service]服务运行参数的设置
- Type=forking是后台运行的形式
- ExecStart为服务的具体运行命令
- ExecReload为重启命令
- ExecStop为停止命令
- PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
(3)、全部命令
systemctl daemon-reload #重载服务单元
systemctl start redis.service #启动redis服务
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
systemctl status redis.service #查看服务当前状态
systemctl restart redis.service #重新启动服务
systemctl list-units --type=service #查看所有已启动的服务
二、安装MongoDB
1、下载MongoDB
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.1.tgz
2、上传到linux服务器上面进行解压安装
tar xf mongodb-linux-x86_64-rhel70-5.0.1.tgz -C /usr/local
>cd /usr/local
>mv mongodb-linux-x86_64-rhel70-5.0.1 mongodb5
>cd mongodb5
>mkdir data log conf
3、配置文件
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb/log/mongod.log
# Where and how to store data.
storage:
dbPath: /usr/local/mongodb/data
journal:
enabled: true
# engine:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
### 添加授权
security:
authorization: enabled
4、启动mongod服务器
# 基于配置参数启动mongod
./mongod --dbpath ../data/ --logpath ../log/mongod.log --bind_ip 0.0.0.0 --fork --auth
# 基于配置文件启动
./mongod -f /usr/local/mongodb5/mongod.conf
[root@node1 ~]# ps -ef | grep mongod
mongod 1574 1 4 20:39 ? 00:00:00 /usr/bin/mongod -f /etc/mongod.conf
root 1610 1399 0 20:40 pts/0 00:00:00 grep --color=auto mongod
5、测试mongod服务是可连接
firewall-cmd --add-port=27017/tcp --permanent //首先放行端口
6、关闭mongodb
./bin/mongod --shutdown --dbpath=./data
7、 给需要的数据库授权
use testdb
db.createUser({user:"gerry",pwd:"gerry",roles:[{role:"dbOwner",db:"testdb"}]})
8、重启验证授权是否正常
shell验证
use testdb
db.auth("gerry","gerry")
三、安装RabbitMQ
1、安装Erlang
#第一步
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
#第二步 安装erlang
yum install erlang
#第三步 查看erlang版本号,在命令行直接输入erl
erl
显示结果
[root@localhost etc]# erl
Erlang/OTP 23 [erts-11.1.8] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]
Eshell V11.1.8 (abort with ^G)
2、安装RabbitMQ
#第一步 先导入两个key
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rpm --import https://packagecloud.io/gpg.key
#第二步
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
#第三步
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el8.noarch.rpm
#第四步
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
#第五步
yum -y install epel-release
yum -y install socat
#第六步
rpm -ivh rabbitmq-server-3.8.5-1.el8.noarch.rpm
#第七步 启用管理平台插件,启用插件后,可以可视化管理RabbitMQ
rabbitmq-plugins enable rabbitmq_management
#第八步 启动应用
systemctl start rabbitmq-server
如果报以下错误:
ERROR: epmd error for host “192”:badarg (unknown POSIX error)
解决办法:
vi /etc/rabbitmq/rabbitmq-env.conf
在文件里面添加这一行:NODENAME=rabbit@localhost,保存
(注意:rabbitmq-env.conf这个文件没有,打开之后自动创建)
成功启动RabbitMQ之后,但是无法访问,这个时候应该考虑防火墙的问题,我们这里允许15672和5672两个端口访问:
firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --add-port=5672/tcp --permanent
#重启防火墙
firewall-cmd --reload
还会遇到一个问题,并不知道账号、密码,我们在这里需要创建管理员账户
#创建管理员账户
rabbitmqctl add_user gerry gerry
#设置注册的账户为管理员
rabbitmqctl set_user_tags gerry administrator
#授权远程访问
rabbitmqctl set_permissions -p / gerry ".*" ".*" ".*"
#重启服务
systemctl restart rabbitmq-server
四、安装Kafka
1、卸载自带jdk
在安装之前,需要查看Linux系统本身是不是自带了jdk,如果自带jdk,那么需要卸载之后再安装。
步骤:使用 java -version 命令查看系统自带jdk版本信息,如果存在,则输入 rpm -qa | grep java 搜索jdk具体信息验证是否删除干净
至此,系统自带jdk卸载完成,开始安装jdk
2、下载JDK
wget https://download.oracle.com/otn-pub/java/jdk/16.0.2+7/d4a915d82b4c4fbb9bde534da945d746/jdk-16.0.2_linux-x64_bin.tar.gz?AuthParam=1627526692_41ec500d9ef16d9eae2800102e0c9d32
3、安装JDK并配置环境变量
(1)、解压安装包
tar xf ./jdk-16.0.2_linux-x64_bin.tar.gz -C /usr/local
(2)、配置jdk环境变量
vim /etc/profile
###################
export JAVA_HOME=/usr/local/jdk-16.0.2
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
### 使其马上生效#######
source /etc/profile
(3)、验证是否生效
[root@localhost bin]# java -version
java version "16.0.2" 2021-07-20
Java(TM) SE Runtime Environment (build 16.0.2+7-67)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)
4、安装Kafka
(1)、下载kafka
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz
(2)、解压kafka并启动kafka
tar -xzf kafka_2.13-2.8.0.tgz
cd kafka_2.13-2.8.0
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
(3)、验证是否正常
### 创建topic
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
## 生成消息
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
## 消费消息
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
五、安装Nginx
1、下载Nginx
wget http://nginx.org/download/nginx-1.21.1.tar.gz
2、安装依赖:
yum install -y gcc-gcc++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
3、安装Nginx
(1)、解压
tar xf nginx-1.21.1.tar.gz
(2)、进行configure配置
./configure --prefix=/usr/local/nginx
(3)、编译和安装
make & make install -j 4
(4)、启动nginx
./nginx -c 指定配置文件位置
eg: ./nginx -c /usr/local/conf/nginx.conf
./nginx 默认使用NGINX_HOME/config/nginx.conf配置文件
(5)、 停止niginx
./nginx -s stop 停止
./nginx -s quit 退出
./nginx -s reload 重新加载nginx.conf (很常用)
发送信号量 (找不到nginx安装位置,但是想要停止nginx服务器情况下使用)
kill -TERM master进程号
kill -QUIT master进程号
nginx 常用命令
./nginx -v 查看nginx版本
./nginx -V 查看nginx的编译版本及配置的参数
./nginx -t 主要验证nginx.conf配置文件是否有问题
./nginx -c 根据配置文件的位置启动nginx
./nginx -s 发送对应信号处理master进程
-s signal : send signal to a master process: stop, quit, reopen, reload
六、Elasticsearch
1、下载Elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.4-linux-x86_64.tar.gz
2、上传到服务器并解压
tar -zxvf elasticsearch-7.13.4-linux-x86_64.tar.gz
mv elasticsearch-7.13.4 elasticsearch
3、修改配置文件
(1)、修改jvm.options配置文件
修改默认配置:-Xms1g -Xmx1g
cd config
vi jvm.options
##########################
-Xms512M
-Xmx512M
(2)、编辑elasticsearch.yml修改数据和日志目录
node.name: node-1 #配置当前es节点名称(默认是被注释的,并且默认有一个节点名)
cluster.name: my-application #默认是被注释的,并且默认有一个集群名
path.data: /home/es/data # 数据目录位置
path.logs: /home/es/logs # 日志目录位置
network.host: 0.0.0.0 #绑定的ip:默认只允许本机访问,修改为0.0.0.0后则可以远程访问
cluster.initial_master_nodes: “node-1” #默认是被注释的 设置master节点列表 用逗号分隔
cluster.initial_master_nodes: [“node-1”, “node-2”] #默认是被注释的 设置master节点列表 用逗号分隔
(3)、在ES根目录创建data和logs文件夹
mkdir data logs
### 修改配置文件elasticsearch.yml
path.data: /home/es/data
path.logs: /home/es/logs
4、修改系统配额
vi /etc/security/limits.conf
########文件最后增加#########
* soft nofile 65536
* hard nofile 65536
------------------------------------------
vi /etc/sysctl.conf
#########文件最后添加#############
vm.max_map_count=655360
### 使其马上生效
sysctl -p
5、启动ES
(1)、创建es用户
useradd es
passwd 123
(2)、 切换到root用户执行
su - root
chown es:es ./elasticsearch
chmod 777 ./elasticsearch
(3)、切回到es用户
su - es
进入home/es目录运行
elasticsearch/bin/elasticsearch
nohup elasticsearch/bin/elasticsearch & 后台运行
七、安装MySql
1、在线安装MySql8
#在线安装mysql8,@mysql模块将安装MySQL及其所有依赖项
dnf install @mysql
#查看安装的msyql信息
rpm -qa | grep mysql
#启动mysql服务并设置为开机自启
systemctl enable --now mysqld
#查看mysql是否正常运行
systemctl status mysqld
mysql正常运行显示如下
首次登陆设置密码
#登录mysql,第一次登录没有密码,所以需要修改root账户密码
mysql -u root -p
#修改root账户密码---localhost指本地才可连接,远程不可访问,后面的'root'为新密码
use mysql;
alter user 'root'@'localhost' identified by 'root';
#退出mysql
quit
#再次登录需要使用密码了
2、设置MySql开房外网访问权限
(1)、查看root用户host及加密方式
#登录mysql
mysql -uroot -proot
#查看用户权限情况
use mysql;
select host,user,plugin from user;
(2)、更新用户的host
#更新root用户的host,%表示任意IP都可连接,即可远程连接,localhost表示只能本地连接
update user set host='%' where user='root';
#查看更新结果
select host,user from user;
(3)、修改root用户权限
#修改root权限,第一个*表示通配数据库,也可指定数据库,第二个*表示通配表,也可指定表
grant all on *.* to 'root'@'%';
#更新权限
flush privileges;
#退出mysql
quit
(4)、放行端口或关闭防火墙
#查看防火墙运行状态
systemctl status firewalld
#放行指定端口(这里当然是放行3306),permenent表示设置为持久
firewall-cmd --permanent --add-port=3306/tcp
#查看放行结果
firewall-cmd --query-port=3306/tcp
#放行成功后重启防火墙
systemctl restart firewalld
#关闭指定端口
firewall-cmd --permanent --remove-port=3306/tcp
#关闭防火墙
systemctl stop firewall