Linux安装JDK、Redis、MySQL、RabbitMQ、Minio、Nginx.......

news2024/11/23 17:24:59

文章目录

  • 一、环境准备
  • 二、安装JDK
  • 三、安装MySQL
  • 四、安装Redis
  • 三、安装RabbitMQ
  • 四、安装Minio
  • 五、安装Nginx
  • 特殊情况处理
    • Centos7挂载磁盘
    • 服务器时间同步
    • MySQL数据库时间同步
    • 安装解压软件
    • 修改数据库SQL模式


一、环境准备

  1. 下载镜像源
    中科大镜像源下载至/opt目录下
  2. 修改yum源为中科大源
#查看系统版本
cat /proc/version
#查看源 (包含Base.repo的文件 系统版本不一样文件名称不一样)
cat /etc/yum.repos.d/CentOS-Base.repo

# yum源备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 复制中科大的源
mv /opt/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
# 清除缓存
yum clean all
# 把yum源缓存到本地,加快软件的搜索安装速度
yum makecache
# 列出包
yum list
# 安装wget
yum install -y wget

二、安装JDK

yum -y install java-1.8.0-openjdk-devel.x86_64
# 验证安装
java -version

三、安装MySQL

  1. 下载 MySQL yum包
# 创建目录
mkdir /opt/mysql
cd /opt/mysql
# 下载
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
  1. 安装软件源
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
  1. 安装MySQL 服务端
yum -y install mysql-community-server
#公钥未安装问题则加上--nogpgcheck 参数
yum install --nogpgcheck mysql-community-server
  1. 启动MySQL 服务端
# 启动 mysql
systemctl start mysqld
# 开机自启动
systemctl enable mysqld
  1. 设置root新密码
# 查看临时密码
grep password /var/log/mysqld.log
# 使用临时密码登录数据库
mysql -p
# 设置新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Demo@123';
  1. 添加用户demo并且开启远程访问权限
# 添加用户并且添加远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'demo'@'%' IDENTIFIED BY 'Demo@123' WITH GRANT OPTION;
FLUSH  PRIVILEGES;
#查看是否生效
select host,user from mysql.user
# 退出登录
quit;
  1. 配置数据库时区以及字符
sudo vim /etc/my.cnf

# 添加下列配置
# 配置支持emoji表情符号
character_set_server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 配置MySQL时区
default-time_zone = '+8:00'
# 配置MySQL不区分大小写 
lower_case_table_names=1

# 重启mysql
systemctl restart mysqld

#进入mysql查看是否生效
mysql -uomo -p
show variables like '%char%';
# 退出登录
quit;
  1. 设置服务器时区
# 设置服务器时区
timedatectl set-timezone Asia/Shanghai
# 同步网络时间-需要服务器可访问外网
yum -y install ntpdate
ntpdate -u ntp.api.bz
# 重启mysql
systemctl restart mysqld
  1. 开通防火墙
# 开通防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service
# 查看是否生效
firewall-cmd --list-ports --permanent
  1. 卸载MySQL
# 卸载MySQL
rpm -qa | grep mysql

四、安装Redis

  1. 下载redis
[root@localhost /]# mkdir /opt/redis
[root@localhost /]# cd /opt/redis
# 当前目录  
[root@localhost redis]# pwd  
/opt/redis
[root@localhost redis]# wget https://download.redis.io/releases/redis-6.2.6.tar.gz
redis-6.2.6.tar.gz
[root@localhost redis]# 

Redis官网也可自行下载对应版本
2. 安装

# 源码安装 创建redis 文件夹
# 解压包
tar -zxvf redis-6.2.6.tar.gz
# 进入目录
cd redis-6.2.6/
# 如果失败则运行 yum clean all      yum makecache
yum install gcc-c++
# 编译 报错则先 make distclean
make
# 在/usr/local/下创建文件夹
mkdir -p /usr/local/redis/data
# 安装Redis, 将Redis安装在/usr/local/redis目录下
make PREFIX=/usr/local/redis install
# 复制redis.conf配置文件到/etc目录下
cp redis.conf /etc
  1. 配置
# 打开配置文件
vi /etc/redis.conf

# 修改下列配置(必须一个个改不要直接复制)
# 修改后台启动, 默认为daemonize no, 修改为daemonize yes
daemonize yes
# 客户端闲置多长时间后断开连接, 默认为0关闭此功能, 修改为300                                      
timeout 300
# 设置密码, 默认被注释, 取消注释修改为自定义密码 一定要设置
requirepass 123456
# 监听ip, 允许访问的ip, 默认为127.0.0.1, 修改为0.0.0.0(允许所有服务器ip访问)或者注释掉
bind 0.0.0.0
# 指定监听端口, 默认为6379, 此处我保持默认
port 6379
# 修改AOF及RBD存放路径, 默认为./, 修改为/usr/local/redis/data
dir /usr/local/redis/data
# 修改log存放路径, 默认为"", 修改为"/usr/local/redis/data/redis_6379.log"
logfile "/usr/local/redis/data/redis_6379.log"
  1. 设置RBD存放文件夹权限
# 开机脚本
vi /lib/systemd/system/redis.service

#内容
[Unit]
Description=redis.server
After=network.target

[Service]
Type=forking
PIDFILE=/usr/local/redis/data/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /etc/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
PrivateTmp=true

[Install]
WantedBy=multi-user.target

#启动redis
/usr/local/redis/bin/redis-server /etc/redis.conf
# 开启自动重启
systemctl enable redis.service
  1. 开通防火墙
# 开通防火墙
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service

三、安装RabbitMQ

  1. 安装erlang
#这里需要确认系统版本  如果是超过7版本的可能会下载到高版本的 会跟mq版本不一致 冲突    后续补充指定版本安装
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum install -y erlang
# 验证
erl -version

  1. 安装rabbitmq
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rpm --import https://packagecloud.io/gpg.key
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum -y install epel-release socat

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

  1. 安装rabbitmq-server
# 下载至对应目录
mkdir /opt/rabbitmq
cd /opt/rabbitmq
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el7.noarch.rpm

[root@localhost rabbitmq]# pwd
/opt/rabbitmq
[root@localhost rabbitmq]# ls
rabbitmq-server-3.8.5-1.el7.noarch.rpm
[root@localhost rabbitmq]# 

# 安装rabbitmq-server
rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm

# 启用管理平台插件
rabbitmq-plugins enable rabbitmq_management
# 启动RabbitMQ
systemctl start rabbitmq-server
# 开机自启
systemctl enable rabbitmq-server

rabbitmq-server也可以自行下载,但需对应版本号,避免版本冲突
4. 安装延迟插件

cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.5/plugins/
wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v3.8.0/rabbitmq_delayed_message_exchange-3.8.0.ez
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
  1. 开通防火墙
# 开通防火墙
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
#firewall-cmd --zone=public --add-port=25672/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service
  1. 新增用户
rabbitmqctl add_user root root
# 赋予权限
rabbitmqctl set_permissions -p / root '.*' '.*' '.*'
# 设置为管理员
rabbitmqctl set_user_tags root administrator

# 设置重启用户保留
# 列出所有用户
rabbitmqctl list_users
  1. 重启服务器
#重启服务器
reboot
# 检查 redis 是否开机自启
ps aux | grep redis
# 检查 mq 是否开机自启
ps aux | grep mq
# 检查mq 用户列表 root 用户是否存在
rabbitmqctl list_users

#如果重启后root用户不在则需要改
# 添加hosts
vi /etc/hosts
# 添加内容
127.0.0.1 localhost.localdomain
  1. 登录验证延迟队列是否生效
    在这里插入图片描述

四、安装Minio

  1. 安装
    Minio下载
    上传至/opt/minio目录
cd /opt/minio

[root@localhost minio]# pwd
/opt/minio
[root@localhost minio]# ls
minio

# 赋予权限
chmod +x minio

cd /mnt
mkdir miniodata
sudo touch /mnt/miniodata/minio.log


# 设置账号密码
export MINIO_ACCESS_KEY=admin
export MINIO_SECRET_KEY=Admin@123
# 后台启动
nohup /opt/minio/minio server /home --address 0.0.0.0:9400 --console-address :9500 > /mnt/miniodata/minio.log 2>&1 &
  1. 开放防火墙
firewall-cmd --add-port=9400/tcp --permanent
firewall-cmd --add-port=9500/tcp --permanent

# 重启防火墙
systemctl restart firewalld.service
  1. 设置开机启动
# 打开开机自启文件
vi /etc/rc.local

# 添加自启脚本
export MINIO_ACCESS_KEY=admin
export MINIO_SECRET_KEY=Admin@123
nohup /opt/minio/minio server /home --address 0.0.0.0:9400 --console-address :9500 > /mnt/miniodata/minio.log 2>&1 &

# 保存
# 修改权限
chmod +x /etc/rc.local
# 重启测试
reboot
  1. ip+9500 登录验证
    在这里插入图片描述

  2. 设置存储桶
    创建桶:Buckets > Create Buckets
    设置桶权限:Buckets > Summary > Access Policy 改为 public

  3. 注意!!!
    本次minio上传的文件存储在/home目录下

五、安装Nginx

  1. 下载
    Nginx官网,下载对应版本并上传至/opt/nginx 目录下
mkdir /opt/nginx
cd /opt/nginx
#上传压缩包
[root@localhost nginx]# pwd
/opt/nginx
[root@localhost nginx]# ls
nginx-1.8.1.tar.gz
  1. 安装依赖
# 安装依赖
yum -y install gcc gcc-c++ 
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
  1. 编译安装(默认安装路径:/usr/local/nginx)
# 编译安装(默认安装路径:/usr/local/nginx)
tar xzvf nginx-1.8.1.tar.gz
cd nginx-1.8.1/
./configure --with-http_ssl_module
make && make install
  1. 创建所需文件夹以及文件
#创建所需文件夹以及文件
mkdir	-p /var/log/nginx && mkdir	-p /var/run/
sudo touch /var/log/nginx/error.log && sudo touch /var/run/nginx.pid
  1. 修改配置文件,设置请求转发(按需,可跳过该步)
vi /usr/local/nginx/conf/nginx.conf
  1. 启动
sudo /usr/local/nginx/sbin/nginx -t
# 启动 
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  1. 设置开机自启
# 设置nginx开机自启动
vi /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target
  1. 启动并开放端口
systemctl enable nginx.service
# 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service
  1. 日志分割备份
#创建文件夹
mkdir /opt/script
#创建nginx分割日志脚本
vi /opt/script/cut_nginx_log.sh
#复制以下内容
#!/bin/sh
cd /var/log/nginx/
sudo mv access.log access_$(date +%F -d -1day).log
sudo /usr/local/nginx/sbin/nginx -s reload
  1. 设置定时任务
#增加执行权限
chmod +x /opt/script/cut_nginx_log.sh
#创建定时任务
crontab -e
#复制以下内容
00 00 * * * /opt/script/cut_nginx_log.sh

#查看定时列表
crontab -l
#重启 cron
sudo service crond restart

特殊情况处理

Centos7挂载磁盘

# 查看机器上都插了哪些安装盘
sudo fdisk -l
# 创建硬盘分区(/dev/sdb是示例,根据具体情况输入)
# n:添加一个分区 p:主分区 w:写入磁盘
fdisk /dev/sdb
# 格式化硬盘
mkfs.ext4 /dev/sdb
# 建立挂载目录
mkdir /mnt/miniodata
# 挂载硬盘
mount /dev/sdb /mnt/miniodata
# 设置开机自动挂载
vi /etc/fstab

/dev/sdb    /data    ext4    defaults    0 0

# 重启服务器
shutdown -r now

服务器时间同步

#查看当前时区
timedatectl
#设置当前时区为上海常用:Asia/Shanghai
timedatectl set-timezone Asia/Shanghai

#安装时间同步应用
yum install -y ntp
#同步上海授时中心时间
ntpdate ntp.api.bz

#打开定时任务编辑器
crontab -e
#每天晚上23:59同步时间
59 23 * * *  ntpdate ntp.api.bz

MySQL数据库时间同步

# 查看数据库当前时间
SELECT NOW();
#查看时区
show variables like '%zone%';
select @@time_zone;
#修改mysql全局时区为北京时间
set global time_zone = '+8:00';
#修改当前会话时区
set time_zone = '+8:00';
#立即生效
flush privileges;

安装解压软件

wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
tar zxf rarlinux-x64-5.3.0.tar.gz
rm -rf /usr/local/bin/rar
rm -rf /usr/local/bin/unrar
ln -s /root/rar/rar /usr/local/bin/rar
ln -s /root/rar/unrar /usr/local/bin/unrar

# 解压
unrar -o 解压目录 压缩包

修改数据库SQL模式

set @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set @@SESSION.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

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

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

相关文章

蓝桥杯专题-真题版含答案-【贪吃蛇长度】【油漆面积】【绘制圆】【高次方数的尾数】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

微服务初始

今天准备开始学习微服务,使用微服务肯定是因为他有好处。 首先了解到的三种架构,传统单体,集群架构,微服务架构 单体架构 有单点问题,如果宕机所有的服务都不可用所有业务的功能模块都聚集在一起,如果代…

POSTGRESQL PERPARE 事务提交方式,到底用还是不用

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

单Bank OTA升级:STM32G071 APP (二)

接上一篇文章:单Bank OTA升级:STM32G071 BootLoader (一):跳转链接 什么是单Bank升级:将Flash划分为以下3个区域。 BootLoader区:程序进行升级的引导程序,根据Upade_Flag来判断跳转Bank区运行程序或是接收…

spring复习:(52)注解方式下,ConfigurationClassPostProcessor是怎么被添加到容器的?

进入AnnotationConfigApplicationContext的构造方法: 进入AnnotatedBeanDefinitionReader的构造方法: 进入this(registry, getOrCreateEnvironment(registry));代码如下: 进入AnnotationConfigUtils.registerAnnotationConfigProcessors方…

贤鱼的刷题日常(数据结构栈学习)-1696:波兰表达式--(递归+栈双题解)题目详解

🏆今日学习目标: 🍀例题讲解1696:波兰表达式 ✅创作者:贤鱼 ⏰预计时间:25分钟 🎉个人主页:贤鱼的个人主页 🔥专栏系列:c 🍁贤鱼的个人社区,欢迎你…

MySQL用户管理详解

文章目录 用户管理创建用户更改密码mysql的权限分类授权实例撤销权力 mysql检查顺序相关文件信息 用户管理 创建用户 在MySQL中,创建用户是管理和授权数据库访问权限的重要操作。下面是创建用户的详细步骤: 连接到MySQL服务器:使用MySQL客户…

人员定位安全管控系统:提升安全管理水平的智能解决方案

在当今社会,人员安全管理成为各行各业关注的焦点。为了保障人员的安全和提高管理效率,人员定位安全管控系统应运而生。 人员定位安全管控系统采用多种定位技术来实现对人员位置的准确定位,如GPS(全球定位系统)、Wi-Fi…

强化学习论文《Deep Reinforcement Learning that Matters》笔记

文章目录 1. 简介2. 实验分析超参数网络架构Reward ScaleRandom Seeds and TrailsEnvironmentCodebases 3. Reporting Evaluation MetricsOnline view vs. Policy OptimizationConfidence BoundsPower AnalysisSignificance 4. 结论5. 参考资料 1. 简介 这篇2017年的论文 是强化…

【PHP】phpstudy添加的网站,访问出现 嗯… 无法访问此页面

使用phpstudy创建网站,只有localhost可以访问, 其他所有网站无法访问,可能是你的账户没有修改vhost的权限 找到 C:\Windows\System32\drivers\etc下的vhost文件, 1、右键属性 将只读去掉 2、把用户对此文件的控制权限全部勾上 …

解决直播间源码音视频不同步问题的有效方式

随着网络技术的发展和移动设备的普及,电视、电脑、手机等数码产品越来越智能,我们不管是在家或是在外面都可以运用不同的数码产品去看剧或是短视频等,但可能很多人遇到过这样一种情况:当我们在看剧或是短视频的时候,可…

微信小程序可输入弹窗

addWhite() {wx.showModal({title: 添加白名单,editable: true, // 可输入content: ,complete: (res) > {if (res.confirm) {if (!res.content) { // 输入的值wx.showToast({title: 请填写白名单,icon: error})this.addWhite()}else {// 调接口}}}})},

Linux命令-按照与使用(17)(转载)解决同一台服务器上部署多个tomcat的同一个项目session冲突问题...

———————————————— 版权声明:本文为CSDN博主「strive_or_die」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/strive_or_die/article/details/103191546…

EXCEL模板如何自定义并使用?

文章目录 0.引言1.新建EXCEL2.EXCEL另存为模板3.使用模板 0.引言 使用Excel模板可以帮助用户更高效地处理和分析大量数据,简化重复任务,并提供清晰直观的数据可视化效果。对于需要频繁进行数据处理和分析的个人或组织来说,使用Excel模板是一个…

半导体自动化专用除静电设备的特点和功能

半导体自动化专用离子风机是一种用于半导体制造过程中的特殊风机设备。它通过产生带电粒子(离子)的气流来实现静电去除和除尘,以确保半导体制造环境的洁净和无尘。 以下是半导体自动化专用离子风机的一些特点和功能: 1. 静电去除…

听GPT 讲K8s源代码--pkg(七)

k8s项目中 pkg/kubelet/config,pkg/kubelet/configmap,pkg/kubelet/container,pkg/kubelet/cri 这几个目录处理与 kubelet 配置、ConfigMap、容器管理和容器运行时交互相关的功能。它们共同构成了 kubelet 的核心功能,使其能够在 …

在外远程查看家里内网监控

在外远程查看家里内网监控 现代生活节奏紧张,巨大的压力压得我们喘不过气来,因此很多人选择在家里养一只陪伴我们的宠物,用以舒缓紧张的情绪和繁重的压力。但养了这些小家伙后,不在家时又总想随时看看家里小可爱们的情况&#xf…

STL:双端队列容器适配器仿函数优先级队列

deque 双端队列可以在头部和尾部进行插入删除操作与vector相比,头插效率高,不需要搬移元素 与list相比,空间利用率高 deque逻辑上空间是连续的,物理上并不是,是由一段段小空间拼接而成的 双端队列的迭代器比较复杂 cur…

Python爬虫技术及其原理详解

概要 随着互联网的发展,大量的数据被存储在网络上,而我们需要从中获取有用的信息。Python作为一种功能强大且易于学习的编程语言,被广泛用于网络爬虫的开发。本文将详细介绍Python爬虫所需的技术及其原理,并提供相关的代码案例。 …

Python—数据结构(一)

先放一张自己学习和整理归纳的思维导图,以便让大家都知道我自己的整体学习路线。 数据结构的学习路上内容枯燥,但坚持下来一定有很大的收获!加油💪🏻! 数据结构 数据的概念数据元素: 若干基本…