一直以来都想有一个可以开箱即用的镜像环境,但一直都没有搞,直接使用docker或者其他工具就直接代替了。终于在昨晚学习RabbitMQ集群的时候,在CentOS6.5版本碰壁了,集群我电脑是有的,但那是早在两年前在学校的时候跟着老师搞的4台虚拟机学hadoop,用的是CentOS6.x 这个版本真的是太捞(老)了,以至于官方便在2020年12月2日正式将CentOS 6相关的软件源移出了官方源,随之而来逐级镜像也会陆续将其删除,所以很对yum源都已经无法再使用了。所以急需centOS7.x 以上环境并且可以开箱即用,虽然大部分情况下docker可以很快的将所需要的环境部署好,但是涉及到了分布式和集群,使用docker相对就没有那么方便了。
centOS7.6镜像下载
为了节省空间,直接使用Minimal
网盘下载:
链接:https://pan.baidu.com/s/1nPbDW6whaUKGQZLdzNlN8A
提取码:wp88
安装教程可以看:https://blog.csdn.net/michaelwoshi/article/details/121626287
centos7基本环境安装
1. 前置准备工作
安装相关必要环境
代码语言:javascript复制yum update
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install -y libffi-devel zlib1g-dev
yum install zlib* -y
yum install glibc.i686
yum -y install wget
centos7防火墙相关
(1)设置开机启用防火墙:systemctl enable firewalld.service
(2)设置开机禁用防火墙:systemctl disable firewalld.service
(3)启动防火墙:systemctl start firewalld
(4)关闭防火墙:systemctl stop firewalld
(5)检查防火墙状态:systemctl status firewalld
(6)配置防火墙打开80端口(需要重启防火墙):firewall-cmd --zone=public --add-port=80/tcp --permanent
2. 安装vim
yum install vim
3. jdk8安装配置
下载解压
代码语言:javascript复制mkdir -p /apps/java
cd /apps/java
wget https://repo.huaweicloud.com/java/jdk/8u152-b16/jdk-8u152-linux-i586.tar.gz
tar zxvf jdk-8u152-linux-i586.tar.gz -C /apps/java
mv jdk1.8.0_152 jdk1.8
配置环境变量
- 用vi 编辑器修改 /etc/prolife ,命令为 vim /etc/profile
- 找到 done 在后面添加
export JAVA_HOME=/apps/java/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
- 配置的java环境变量生效 source /etc/profile
4. MySql5.7安装配置
详细可以看:https://cloud.tencent.com/developer/article/2123644
mysql安装命令
代码语言:javascript复制mkdir -p /apps/mysql
cd /apps/mysql
# 下载mysql的repo源
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
# 安装mysql57-community-release-el7-8.noarch.rpm包
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
# 解决阿里云ECS安装Mysql失败:GPG密钥已安装,但是不适用于此软件包
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 安装mysql
yum install mysql-server
启动&修改MySQL密码
代码语言:javascript复制# 进入MySQL
mysql -u root -p
# 解决Can‘t connect to local MySQL server through socket 'var/lib/mysql/mysql.sock',删除/var/lib/mysql /后重启MySQL服务就可以了!
rm -rf /var/lib/mysql
# 重启服务:
service mysqld restart
# 重启成功后查看服务状态:
service mysqld status
# 接下来登录重置密码:
grep "A temporary password" /var/log/mysqld.log
mysql -u root -p
# 输入上面查询到的密码
# 重置密码等级
set global validate_password_policy=LOW;
set global validate_password_length=6;
# 修改mysql密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
管理mysql
代码语言:javascript复制systemctl start mysqld.service # 启动mysql
systemctl enable mysqld.service # 开机自启
systemctl disable mysqld.service # 关闭自启
允许mysql远程登录
代码语言:javascript复制# 进入MySQL
grant all privileges on *.* to root@"%" identified by "new password";
详细配置查看:https://qkongtao.cn/?p=1124#h3-4
5. Nginx安装配置
详细可以看:https://cloud.tencent.com/developer/article/2123647
Nginx安装
代码语言:javascript复制# 安装gcc环境
yum install gcc-c
# 安装pcre
yum install -y pcre pcre-devel
# 安装zlib
yum install -y zlib zlib-devel
# 安装openssl
yum install -y openssl openssl-devel
mkdir -p /apps/nginx
cd /apps/nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -xvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure
make
make install
# 启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx -s reload
Nginx管理
代码语言:javascript复制systemctl start nginx.service # 启动Nginx
systemctl enable nginx.service # 开机自启
systemctl disable nginx.service # 关闭自启
注意:虚拟机重启是自启Nginx问题
代码语言:javascript复制[root@localhost ~]# nginx -s reload
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
[root@localhost ~]#
此报错为:logs目录下缺少pid文件。
解决方式:重新指定启动之时加载的配置文件,然后再重启,假如nginx的配置文件目录为:/usr/local/nginx/conf/nginx.conf
正确启动的方式为:
/usr/local/nginx/sbin/nginx -c/usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx -s reload
6. Redis安装配置
下载安装Redis
代码语言:javascript复制mkdir -p /apps/redis
cd /apps/redis
wget https://download.redis.io/releases/redis-6.2.4.tar.gz
tar xvf redis-6.2.4.tar.gz
cd redis-6.2.4
make
make install PREFIX=/usr # 自定义安装目录
cp redis.conf /etc/ # 复制redis.conf配置文件到/etc/目录下。记得更改daemonize为yes
配置管理Redis
代码语言:javascript复制vim /usr/lib/systemd/system/redis.service # 先创建服务名
复制以下内容
[Unit]
Description=redis-server
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=forking
ExecStart=/usr/bin/redis-server /etc/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
至此你可以通过systemctl来管理你的redis
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
修改密码
代码语言:javascript复制# vim /apps/redis/redis-6.2.4/redis.conf
### 修改以下内容
# 将bind 后 127.0.0.1 改为 内网IP # 为安全起见,请勿使用 0.0.0.0
protected-mode yes 改为 protected-mode no # 关闭保护模式
daemonize no 改为 daemonize yes # 开启守护进程
测试进入redis
代码语言:javascript复制redis-cli -a 123456
get keys
redis远程连接
允许远程主机访问 注释绑定的主机地址 bind 127.0.0.1 修改为bind 0.0.0.0
修改redis的守护进程为no,不启用 daemonize no
修改redis的保护模式为no,不启用 protected-mode no
复制redis.conf配置文件到/etc/目录下(因为使用了脚本服务启动)
cp /apps/redis/redis-6.2.4/redis.conf /etc/
重启redisL: systemctl restart redis
7. docker安装配置
详细可以看:https://cloud.tencent.com/developer/article/2123625
Docker安装命令
代码语言:javascript复制mkdir -p /apps/docker
cd /apps/docker
curl -fsSL https://get.docker.com -o get-docker.sh
chmod u x get-docker.sh
./get-docker.sh # 等待安装完成
管理docker
代码语言:javascript复制systemctl start docker.service # 启动docker
systemctl enable docker.service # 开机自启
systemctl disable docker.service # 关闭自启
8. 将Python2升级到Python3
centOS7.x自带Python2.7
更新步骤
- 查看Python版本
python -V
pip -V
- 安装依赖
yum install yum-utils
yum-builddep python
- 下载
mkdir -p /apps/python
cd /apps/python
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
yum -y install zlib-devel bzip2-devel openssl-devel ncursesdevelsqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
mkdir -p /usr/local/python3.7
tar xvf Python-3.7.2.tgz
cd Python-3.7.2/
# 配置安装目录
./configure --prefix=/usr/local/python3
# 编译
make
make install
# 设置python3为默认版本
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/python3/bin/python3 /usr/bin/python
python -V
pip -V
- 更改yum配置 因为yum需要使用python2,将/usr/bin/python改为python3后,yum就不能正常运行了,因此需要更改一下yum的配置。
# 编辑这两个文件,将文件头的#!/usr/bin/python改为#!/usr/bin/python2
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
9. RabbitMQ安装配置
出于版本依赖的问题,手动一步一步安装erlang和RabbitMQ会遇到很多坑。
因此直接使用现成的脚本安装。
脚本安装RabbitMQ
- 下载并允许脚本 curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
- 安装erlang yum install erlang -y
- 安装rabbitmq yum install rabbitmq-server -y
- 查看erlang和rabbitmq的安装信息 rpm -qa | grep erlang rpm -qa | grep rabbitmq-server
配置RabbitMQ
- 管理rabbitmq服务
systemctl start rabbitmq-server
systemctl stop rabbitmq-server
systemctl status rabbitmq-server
# 开机自启
systemctl enable rabbitmq-server
# 关闭自启
systemctl disable rabbitmq-server
- 启用管控台插件 rabbitmq-plugins enable rabbitmq_management
- 关闭系统防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
- 添加测试账户
rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
- 进入rabbitMQ的web后台 192.168.137.138:15672 ip:15672
输入上面设置的测试账号即可登录:
账号:test
密码:test
集成环境后centOS7.6下载
链接:https://pan.baidu.com/s/1jtDpcaCx29MSeI94omuu5w
提取码:hhgs
myCentOS说明:
- 所有软件放在 /apps/ 目录下
- mysql和redis安全考虑没有配置远程访问
- 防火墙已关闭
- 重启是nginx没有平滑启动,需要手动平滑启动: /usr/local/nginx/sbin/nginx -c/usr/local/nginx/conf/nginx.conf /usr/local/nginx/sbin/nginx -s reload
- 所有环境安装流程如上所述