Centos8 安装 JDK / Python / MySQL / Redis / Nginx

安装 JDK

华为镜像 JDK 下载地址:https://repo.huaweicloud.com:8443/artifactory/java-local/jdk/

这里安装 JDK8 为例:

# 这里直接通过 wget 下载
wget https://repo.huaweicloud.com:8443/artifactory/java-local/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
# 解压文件并移动
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/

配置环境:

vim /etc/profile

在尾部添加下面内容:

# JDK
export JAVA_HOME=/usr/local/jdk1.8.0_202
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

刷新环境文件

source /etc/profile

检查 JDK 环境

java -version
javac -version

安装 Python

Python 下载地址:https://repo.huaweicloud.com/python/

# 安装必须依赖
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc
# 通过 wget 下载
wget https://repo.huaweicloud.com/python/3.12.7/Python-3.12.7.tar.xz
# 解压文件,如果是 .tar.gz 文件,那么使用 tar -zxvf xxx.tar.gz 解压即可
tar -xvJf Python-3.12.7.tar.xz
# 进入文件夹
cd Python-3.12.7
# 配置和编译
./configure --prefix=/usr/local/python-3.12.7
# 编译并安装
make
make install
# 配置环境
vim /etc/profile
# Python
export PYTHON_HOME=/usr/local/python-3.12.7
export PATH=${PYTHON_HOME}/bin:$PATH
# 刷新环境文件
source /etc/profile
# Python 环境验证
python3 --version
pip3 --version

安装 MySQL

MySQL 下载地址:https://downloads.mysql.com/archives/community/

centos 操作系统选择:Linux - Generic

这里下载新的 MySQL 会是以 .tar.xz 结尾的文件,如果是旧版本会是以 .tar.gz 为结尾

# 安装必要的依赖
yum install -y libncurses* libaio*
# 这里直接通过 wget 下载
wget https://cdn.mysql.com/archives/mysql-8.4/mysql-8.4.2-linux-glibc2.28-x86_64.tar.xz
# 解压文件,如果是 .tar.gz 文件,那么使用 tar -zxvf xxx.tar.gz 解压即可
tar -xvJf mysql-8.4.2-linux-glibc2.28-x86_64.tar.xz
# 移动
mv mysql-8.4.2-linux-glibc2.28-x86_64 /usr/local/mysql
# 创建数据库的配置文件
vim /usr/local/mysql/my.cnf

输入以下内容

[mysqld]
# MySQL 的目录
basedir=/usr/local/mysql
# MySQL 数据库文件,该目录指定的位置需要提前创建
datadir=/usr/local/mysql/data
# 指定 sock 文件,登录 MySQL 时不指定 -h 时会使用到该文件
socket=/tmp/mysql.sock
user=root
port=3306
# 指定 MySQL 日志文件类型,mysql-bin 表示二进制类型
log-bin=mysql-bin
# 搭建主从的时候用到,不搭建主从可以任意配置一个数字
server-id=1
# 是否忽略大小写,1 忽略,0 不忽略;默认为 0
lower_case_table_names=1
# 手动创建数据库文件目录
mkdir /usr/local/mysql/data
# 初始化数据库
/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize --user=root

此时控制台会打印数据库的初始密码,需要记录下来,待会要用到

在这里插入图片描述

将 MySQL 加入环境

vim /etc/profile

在末尾添加以下内容

# MySQL
export MYSQL_HOME=/usr/local/mysql
export PATH=${MYSQL_HOME}/bin:$PATH
# 刷新环境文件
source /etc/profile
# 启动 MySQL
mysqld &
# 登录 MySQL,修改配置可外部登录
mysql -uroot -p
# ⭐ 然后输入刚刚控制台打印的密码
# 修改新密码
alter user 'root'@'localhost' identified by '改成你的密码';
# 修改可外部登录 MySQL
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
exit;

这时候需要开放 3306 端口,如果是云服务那就在安全组中将 3306 端口开放出来

firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld

设置 MySQL 开机自启

chmod +x /etc/rc.d/rc.local
vim /etc/rc.d/rc.local

在末尾添加 MySQL 启动语句

/usr/local/mysql/bin/mysqld &

安装 Redis

Redis 下载地址:https://download.redis.io/releases/

# 安装必要依赖
yum -y install gcc-c++
# 通过 wget 下载
wget https://download.redis.io/releases/redis-7.4.1.tar.gz
# 解压文件
tar -zxvf redis-7.4.1.tar.gz
# 进入 redis 文件夹
cd redis-7.4.1
# 编译和安装
make
make PREFIX=/usr/local/redis install

此时 Redis 安装在了 /usr/local/redis 目录下,目录结构如下:

在这里插入图片描述

修改成后台启动 redis

# 添加配置文件 
cp ./redis-7.4.1/redis.conf /usr/local/redis/bin/
# 修改配置文件(修改三处的配置)
vim /usr/local/redis/bin/redis.conf

daemonize 的值改为 yes

daemonize yes

requirepass foobared 下指定登录密码

# requirepass foobared
requirepass 123456

bind 127.0.0.1 -::1 换成 bind 0.0.0.0 可以外部登录

# bind 127.0.0.1 -::1
bind 0.0.0.0

后台启动 redis

/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf

设置 Redis 开机自启

chmod +x /etc/rc.d/rc.local
vim /etc/rc.d/rc.local

在末尾添加 Redis 启动语句

/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf

安装 Nginx

Nginx 下载地址:https://nginx.org/download/

# 安装必须依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel
# 通过 wget 下载
wget https://nginx.org/download/nginx-1.20.1.tar.gz
# 解压文件
tar -zxvf nginx-1.20.1.tar.gz
# 进入文件
cd nginx-1.20.1
# 检查
./configure
# 编译并安装
make
make install# 查看 Nginx 的版本号
/usr/local/nginx/sbin/nginx -v
# 启动 Nginx
/usr/local/nginx/sbin/nginx
# 关闭 Nginx
/usr/local/nginx/sbin/nginx -s stop
# 重新加载配置
/usr/local/nginx/sbin/nginx -s reload

设置 Nginx 开机自启

chmod +x /etc/rc.d/rc.local
vim /etc/rc.d/rc.local

在末尾添加 Nginx 启动语句

/usr/local/nginx/sbin/nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/12227.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【Qt-ROS开发】使用 Qt Creator 构建和编译含 ROS 库的 Qt 项目

【Qt-ROS】使用 Qt Creator 构建和编译含 ROS 库的项目 网上大多数办法是在 Qt creator中安装 ros_qtc_plugin 插件,项目以 ROS1 工作空间的形式构建,还是使用 catkin 来构建整个项目。但是这种方式局限很大,导入 Qt 的组件反而变得很麻烦&a…

【RabbitMQ】07-业务幂等处理

1. 方式一 序列化设置唯一Id。 Beanpublic MessageConverter messageConverter() {Jackson2JsonMessageConverter jjmc new Jackson2JsonMessageConverter();jjmc.setCreateMessageIds(true);return jjmc;}RabbitListener(bindings QueueBinding(value Queue(name "d…

SparseDrive 论文学习

论文链接:https://arxiv.org/pdf/2405.19620 代码链接:https://github.com/swc-17/SparseDrive 解决了什么问题? 传统模块化的自动驾驶系统可以被解耦为不同的独立模块,如感知、预测和规划,这种范式会面临信息丢失和…

如何提高自动驾驶中惯性和卫星组合导航pbox的精度?

Mems纯惯导里程推算精度做到千分之一,两分钟航向精度保持0.001弧度,是如何做到的? 简单的来说,导航系统的误差来源于这三方面:1.传感器误差 2.时间和迭代频率 3.算法精度。 接下来逐一分析。 1.传感器误差,传感器误差…

机器学习——贝叶斯

🌺历史文章列表🌺 机器学习——损失函数、代价函数、KL散度机器学习——特征工程、正则化、强化学习机器学习——常见算法汇总机器学习——感知机、MLP、SVM机器学习——KNN机器学习——贝叶斯机器学习——决策树机器学习——随机森林、Bagging、Boostin…

20241111,LeetCode 每日一题,用 Go 实现旋转链表

题目 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 解题思路 计算链表长度:遍历链表来获取链表的长度 n,因为链表的旋转其实是循环移动,所以将 k 对 n 取模 k k % n,这样可以…

Linux驱动开发(4):Linux的设备模型

在前面写的驱动中,我们发现编写驱动有个固定的模式只有往里面套代码就可以了,它们之间的大致流程可以总结如下: 实现入口函数xxx_init()和卸载函数xxx_exit() 申请设备号 register_chrdev_region() 初始化字符设备,cdev_init函数…

在线项目管理系统有哪些选择?2024年9款推荐

本文提及的2024值得关注的9款在线项目管理系统有: 1.PingCode; 2.Worktile; 3.华炎魔方; 4.企业微信; 5.Tapd; 6.青云客; 7.ClickUp; 8.Wrike; 9.Smartsheet。 许多企业在选择在线项…

pytorch量化训练

训练时量化(Quantization-aware Training, QAT)是一种在模型训练过程中,通过模拟低精度量化效应来增强模型对量化操作的鲁棒性的技术。与后训练量化不同,QAT 允许模型在训练过程中考虑到量化引入的误差,从而在实际部署…

datastage在升级版本到11.7之后,部分在11.3上正常执行的SP报错SQLSTATE = 22007: 本机错误代码 = -180

在升级版本到11.7之后,部分在11.3上正常执行的SP开始报错,报的SQL错误是时间参数问题,但是一样的SP可以直接call sp执行,也可以手动调用作业执行,只有设置定时调度时作业会报错, CALLXXX.XXX(1,CURRENT TIM…

Windows VSCode .NET CORE WebAPI Debug配置

1.安装C#插件 全名C# for Visual Studio Code,选择微软的 2. 安装C# Dev Kit插件 全名C# Dev Kit for Visual Studio Code,同样是选择微软的 3.安装Debugger for Unity 4.配置launch.json 文件 {"version": "0.2.0","config…

Docker使用docker-compose一键部署nacos、Mysql、redis

下面是一个简单的例子,展示如何通过Docker Compose文件部署Nacos、MySQL和Redis。请确保您的机器上已经安装了Docker和Docker Compose。 1,准备好mysql、redis、nacos镜像 sudo docker pull mysql:8 && sudo docker pull redis:7.2 &&…

【模块一】kubernetes容器编排进阶实战之k8s基础概念

kubernetes 基本介绍 kubernetes 组件简介 - master: 主人,并不部署服务,而是管理salve节点。 后期更名为: controll plane,控制面板。 etcd: 2379(客户端通信)、2…

【MPC-Simulink】EX04 信号归一化简化权重调节过程与提高数值计算质量

【MPC-Simulink】EX04 信号归一化简化权重调节过程与提高数值计算质量 参考 Matlab 官网提供的 Model Predictive Control Toolbox - Getting Started Guide,在 MPC 控制器中指定缩放因子,可以简化权重调节过程,提高数值计算质量。 当被控对…

Dubbo分布式日志跟踪实现

前言 随着越来越多的应用逐渐微服务化后,分布式服务之间的RPC调用使得异常排查的难度骤增,最明显的一个问题,就是整个调用链路的日志不在一台机器上,往往定位问题就要花费大量时间。如何在一个分布式网络中把单次请求的整个调用日…

企业网络转型:优势与挑战

◎ 网络研究观 事实上,现代企业网络是一个由相互连接的数据、应用程序和基础设施组成的复杂网络。然而,企业不应让这种复杂性成为服务不可靠、安全漏洞或网络停机的借口。 由于组织和公司面临着从并购到云扩展的诸多挑战,以及网络技术日益复…

【算法一周目】双指针(1)

目录 1.双指针介绍 2.移动零 解题思路 C代码实现 3.复写零 解题思路 C代码实现 4.快乐数 解题思路 C代码实现 5.盛水最多的容器 解题思路 C代码实现 1.双指针介绍 常见的双指针有两种形式,一种是对撞指针,一种是快慢指针。 对撞指针&#x…

6547网:青少年软件编程Python等级考试(六级)真题试卷

2024年9月青少年软件编程Python等级考试(六级)真题试卷 题目总数:38 总分数:100 选择题 第 1 题 单选题 下面Python代码运行后出现的图像是?( ) import matplotlib.pyplot as plt im…

【5种灵活有效方式】如何从死机手机中恢复内部数据?

本文介绍了5种方法来从死机的Android设备中恢复数据,包括使用U1tData安卓数据恢复软件、SD卡、OTG、Google云端硬盘和SamsungCloud。这些方法覆盖了不同情况下的数据恢复需求。 摘要由CSDN通过智能技术生成 我的手机掉在地上,现在无法开机。我丢失了所…

【安全测试】sqlmap工具(sql注入)学习

前言:sqimap是一个开源的渗透测试工具,它可以自动化检测和利用SQL注入缺陷以及接管数据库服务器的过程。它有一个强大的检测引擎,许多适合于终极渗透测试的小众特性和广泛的开关,从数据库指纹、从数据库获 取数据到访问底层文件系…