编译安装gcc
2.1编译安装gcc
CentOS 7 上直接运⾏ yum -y install gcc 安装的版本是 4.8.5,在编译⼀些软件时会因为版本 过低导致编译不通过,此时我们可以下载⾼版本 gcc 的源码进⾏编译安装。
2.1.1下载gcc
1 yum -y install gcc
2 yum -y install gcc-c++
从镜像站http://mirrors.ustc.edu.cn/gnu/gcc/ 找到想要安装的版本的源码,下载下来。
1 wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-12.1.0/gcc-12.1.0.tar.gz
解压并进入文件夹。
1 tar -zxvf gcc-12.1.0.tar.gz
2 cd gcc-12.1.0
下载相关依赖。
1 ./contrib/download_prerequisites
如果报找不到 bzip2 的话,需要下载 bzip2 的源码进⾏编译安装。
2.1.2 配置与编译
运行命令,设置编译后文件存放的地址,默认/usr/local
1 ./configure --prefix=/usr/local/ --disable-multilib
运行命令进行编译与安装
1 make
# 会编译很长时间,可能在数小时不等
2 make install
2.1.3 安装后配置
# 删除原本软连接并建⽴新的软连接
1 rm -rf /usr/bin/gcc
2 ln -s /usr/local/bin/gcc /usr/bin/gcc
3 rm -rf /usr/bin/g++
4 ln -s /usr/local/bin/g++ /usr/bin/g++
5 rm -rf /usr/bin/c++
6 ln -s /usr/local/bin/c++ /usr/bin/c++
# 编译时若提示权限不⾜,还需要修改权限
7 chmod -R 777 /usr/local/bin/gcc
若在编译时还提示找不到cc1或者cc1plus,还需要建立这两个的链接。
1 ln -s /usr/local/libexec/gcc/x86_64-pc-linux-gnu/12.1.0/cc1 /usr/bin/cc1
2 ln -s /usr/local/libexec/gcc/x86_64-pc-linux-gnu/12.1.0/cc1plus /usr/bin/cc1plus
3 chmod -R 777 /usr/local/bin/cc1
4 chmod -R 777 /usr/local/bin/cc1plus
2.1.4 GLIBCXX问题
因为安装的gcc版本⽐较⾼,⽣成的动态库没有替换旧版本 gcc 的动态库,GLIBCXX 中的版本⽐较低,会报 not found ,将 gcc 最新版本的动态库替换系统中旧版本的动态库即可。
# 查看是否有提示⾥的 GLIBCXX
1 strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
# 把最新的动态库放到 /usr/lib64/ ⽬录下
2 cp /usr/local/lib64/libstdc++.so.6.0.30 /usr/lib64
# 删除旧的动态库
1 ./contrib/download_prerequisites
# 建⽴新的软连接
3.安装MySQL
3.1下载
下载网址:https://dev.mysql.com/downloads/mysql/
选择合适的版本进行下载,这里选择的是
Red Hat Enterprise Linux / Oracle Linux
Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
RPM Bundle
下载文件: mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
# 新建 mysql 文件夹便于存放文件
1 mkdir /opt/mysql
# 将文件移入新文件夹并解压
2 tar xvf mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
# 查找 mariaDB 并卸载,否则可能导致冲突
3 rpm -qa | grep mariadb
4 rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
3.2安装
# 安装顺序有依赖关系,按照顺序安装
1 rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm
2 rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
3 rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm
4 rpm -ivh mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm
5 rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm
6 rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
7 rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm
# 启动 mysql 服务
1 systemctl start mysqld
# 查看是否成功启动
2 service mysqld status
3 netstat -tunlp | grep mysql
# 查看默认位置生成的日志,记录生成的 root 用户的密码,如果在启动的时候出现问题可以在在这里查看 报错的日志
4 vim /var/log/mysqld.log
# 如果需要修改配置文件的话,可以编辑默认位置的配置文件,这里不做修改
5 vim /etc/my.conf
# 查看防火墙 3306 端口是否开放
6 firewall-cmd --zone=public --list-ports
# 如果没有开放,则开放防火墙的 3306 端口
7 firewall-cmd --zone=public --add-port=3306/tcp --permanent
8 firewall-cmd --reload
4.安装Redis
4.1 下载与安装
下载网址:http://download.redis.io/releases/
这里选择下载版本:redis-7.0.5.tar.gz
# 创建 redis 文件夹,将下载的文件移入并解压
1 mkdir /opt/redis
2 cd /opt/redis
3 tar -xzvf redis-7.0.5.tar.gz
# 进入解压后的文件夹,编译,等待编译完成
4 cd redis-7.0.5
5 make
# 安装,PREFIX 是设定安装的位置,不设定的话,安装后的文件会比较分散,不便于管理
6 make install PREFIX=/usr/local/redis
4.2 启动与初始化
# 复制配置文件到程序二进制的目标文件夹中,便于后续启动和配置
1 cp redis.conf /usr/local/redis
# 更改配置文件命名,便于后期切换配置
2 cd /usr/local/redis
3 mv redis.conf myredis.conf
# 编辑配置文件 vim myredis.conf
bind 0.0.0.0
# 允许远程访问
5.安装时序数据库
5.1 安装InfluxDB
5.1.1下载与安装
下载网址:https://portal.influxdata.com/downloads/
```dart
# influxdb.key GPG Fingerprint: 05CE15085FC09D18E99EFB22684A14CF2582E0C5 cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
sudo yum install influxdb2
注意,InfluxDB 的默认数据存储位置是 ~/.influxdbv2/engine ,可以进行修改,在挂载数据盘的时候要注意。
配置优先级:
- influxd flags
启动时指定配置: influxd --engine-path=/home/engine - Environment variables
配置环境变量: export INFLUXD_ENGINE_PATH=/home/engine - Configuration file settings
配置文件中配置(YAML/TOML/JSON) :
#YAML:
engine-path: ~/.influxdbv2/engine
#TOML:
engine-path = "~/.influxdbv2/engine"
#JSON:
{
"engine-path": "~/.influxdbv2/engine"
}
5.1.2启动服务
1 sudo service influxdb start
# 若启动失败,可以前往 /var/log/messages 查看日志
#例如文件权限问题:chmod -R 775 .
#/var/lib/influxdb/influxd.pid和/usr/bin/influxdb文件夹权限为influxdb
运行:chown influxdb:influxdb influxdb
5.2 安装Influx CLI
5.2.1下载与安装
1 wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.3.0-linux-amd64.tar.gz
2 tar xvzf influxdb2-client-2.3.0-linux-amd64.tar.gz
#添加系统环境
3 sudo cp influxdb2-client-2.3.0-linux-amd64/influx /usr/local/bin/
#初始化设置
4 influx setup
# 接着根据提示分别输入 “ username ”,“ password ”,“ organization name ”,“ bucket name ”,“retention period ”
5 influx auth list
输入以上命令获取 token,写入展示大屏后端的influx2.properties文件中 :
influx2.url=http://XXXXXXXXXXX:8086
influx2.org=XXX influx2.token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX influx2.bucket=XXXXXX
完成后,可以前往 http://XXXXXXXXXXX:8086 查看图形化控制台。
6.Docker(可选)
6.1 删除旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
6.2 下载与安装
下载 Docker 前,为了能够设置镜像仓库,需要先安装 yum-utils
1 sudo yum install -y yum-utils
# 设置镜像仓库为阿里云
2 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件索引
3 yum makecache fast
#安装Docker-ce(免费社区版)
4 sudo yum install docker-ce docker-ce-cli containerd.io
#启动Docker服务
5 sudo systemctl start docker
Kafka
7.1 安装JDK
使用yum安装,本次安装的版本是JDK-11
1 yum install -y java-11-openjdk.x86_64
2 yum install -y java-11-openjdk-devel.x86_64
3 yum install -y java-11-openjdk-headless.x86_64
#查看是否安装完成
4 rpm -qa | grep jdk
#(可选)查看jdk版本:
yum search java|grep jdk
#查看安装了几个java
sudo update-alternatives --display java
#设置java的版本
sudo update-alternatives --config java
#设置javac的版本
alternatives --config javac
7.2 安装ZooKeeper
#下载压缩包
1 wget https://mirrors-i.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper- 3.8.0/apache-zookeeper-3.8.0-bin.tar.gz --no-check-certificate
#解压
2 tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz
#复制配置文件
3 cd apache-zookeeper-3.8.0-bin/conf
4 cp zoo_sample.cfg zoo.cfg
#启动
5 bin/zkServer.sh start
#非部署流程:关闭
6 bin/zkServer.sh stop
.3 安装Kafka
# 下载压缩包并解压
1 wget https://downloads.apache.org/kafka/3.2.3/kafka_2.13-3.2.3.tgz
2 tar -zxvf kafka_2.13-3.2.3.tgz
# 启动 Kafka
2 cd kafka_2.13-3.2.3/
3 bin/kafka-server-start.sh config/server.properties &
# 创建新的 topic
4 bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --partitions 12 --topic vcuData
# 查看 topic 是否创建成功
5 bin/kafka-topics.sh --list --bootstrap-server localhost:9092
# 非部署流程:关闭 Kafka
6 bin/kafka-server-stop.sh
8.nginx(可选)
8.1 下载与安装
# 下载压缩包
1 wget http://nginx.org/download/nginx-1.23.1.tar.gz
# 解压并进入目录
2 tar -zxvf nginx-1.23.1.tar.gz cd nginx-1.23.1
# 执行
3 ./configure
# 编译安装
4 make && make install
# https://blog.csdn.net/Dan1374219106/article/details/111085654 (bug问题)
# 运行 nginx
1 cd /usr/local/nginx/sbin
2 ./nginx
# 查询 nginx 是否启动成功
3 ps -aux | grep nginx
# nginx 默认占用 80 端口,可以直接访问 IP:80 或 IP 查看是否有 nginx 的页面,注意防火墙放开 相应端口
# 关闭 nginx 服务
5 ./nginx -s stop
6 ./nginx -s quit (nginx 主进程会等待 worker 进程完成当前用户请求的处理)
# 验证nginx配置文件是否正确,用于修改conf配置文件后:
7 ./nginx -t
# 重载nginx服务,用于修改conf配置文件后重载:
8 ./nginx -s reload
# 重新打开日志文件:(刷新日志文件)