自动安装环境shell脚本使用和运维基础使用讲解


title: 自动安装环境shell脚本使用和运维基础使用讲解
tags: [shell,linux,运维]
categories: [开发记录,系统运维]
date: 2024-3-27 14:10:15
description:

准备和说明

  1. 确认有网。
    依赖程序集,官网只提供32位压缩包,手动编译安装后,在64位机上识别不出来,只能用yum包管理从源上拉下来,需要有网

  2. 安装unzip,git,wget,用来解压安装包,如果服务器已有会自动跳过安装

    yum -y install unzip
    yum -y install git 
    yum -y install wget
    
  3. 使用root登录并执行安装脚本,注意安全措施。 (只有root权限才能在脚本内刷新当前的环境变量)

生成安装用配置文件并手动配置

  • 执行0-2脚本在当前目录生成 install_config.txt,第一个参数为redis密码,第二个参数为mysql密码
    这里生成的密码安装之后只能进程序手动修改,不能通过改此配置文件修改密码!!!
    这里生成的密码安装之后只能进程序手动修改,不能通过改此配置文件修改密码!!!
    这里生成的密码安装之后只能进程序手动修改,不能通过改此配置文件修改密码!!!
sh 0-1_generate_config_file.sh  666 7756
  • 用文本编辑器打开生成的 install_config.txt 配置文件,进行ip,端口,密码等相关配置。
  • 默认生成的配置为当前机器的内网IP,如果多个程序装在不同机器上,需要手动配置相关IP

redis配置说明

 "redis": {
        "redis_dir": "/data/work/redis",
        "redis_tar": "redis-6.0.6.tar.gz",
        "redis_bind_ip": "0.0.0.0",    //监听IP地址
        "redis_password" : "123456"   
    },

mysql配置说明

配置root密码,以及配置文件路径

    "mysql": {
      "mysql_dir": "/data/work/mysql",
      "mysql_tar_xz": "mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz",
      "mysql_new_password": "123456",   //配置密码
      "mysql_config_file": "/etc/my.cnf"
    },

nacos 配置说明

  • mysql在本地为内网IP,在其他位置写入ip地址和端口号
  • redis 同上
"nacos": {
      "nacos_dir": "/data/work/nacos",
      "nacos_tar_gz": "nacos-server-1.2.1.tar.gz",
      "mysql_driver": "mysql-connector-java-8.0.20.jar",
      "nacos_mysql_ip": "127.0.0.1:3306",  #mysql在本地为127.0.0.1,在其他位置写入ip地址和端口号   
      "redis_config": {
        "spring.redis.host": "127.0.0.1",  #mysql在本地为127.0.0.1,在其他位置写入ip地址和端口号   
        "spring.redis.port": 6379   #redis端口号
      }
    }

  • 安装完成后需要访问网页版UI手动导入配置文件**
    redis相关配置已经写入 ~/conf/application.properties 文件中,若不生效就手动进WebUI进行配置, ip:8848/nacos

seata配置说明

  • docker 安装1.3.0启动报错,连不上mysql报jdbc错误,用nacos模式启动也失败,需要nacos 2.x 版本以上
  • mysql,redis,nacos 服务若装在非本机上,配置相应ip和端口号。
  • seata_host_ip 配置向注册中心时使用的IP,默认使用机器内网IP
    "seata":{
        "seata_dir": "/data/work/seata",
        "seata_tar": "seata-server-1.3.0.tar.gz",
        "seata_host_ip": "127.0.0.1",  //向注册中心时使用的IP
        "seata_mysql_ip": "127.0.0.1:3306",
        "seata_redis_host": "127.0.0.1",
        "seata_redis_port": "6379",
        "seata_nacos_ip": "127.0.0.1:8848"

    }

docker 配置说明

  • docker_fastdfs_ip : fastdfs ip地址配置
"docker":{
        "docker_work_dir": "/data/work/dockerapps",
        "docker_fastdfs_ip": "127.0.0.1"
    }

安装方法&测试安装结果

在当前会话中更新环境变量使环境变量生效,或者重启。

source /etc/profile

用screen会话无人值守安装

  • 安装Screen
yum install -y screen
  • 创建和使用screen 会话/窗口
screen -S 1_install
screen -r <会话名> #恢复会话
screen ls #列出当前所有会话

分离和恢复会话:当需要暂时离开会话时,可以使用快捷键Ctrl+a d(即按住Ctrl键,然后依次按a和d键)来分离当前会话,此时会话中的程序仍将继续运行。当需要恢复会话时,可以使用screen -r <会话名>命令,其中<会话名>是之前创建的会话的名称。如果只有一个会话,可以简化为screen -r。

  • 退出会话
screen -X -S 1_install quit
# screen -X -S <session name> quit

自动下载并安装到本机

修改数据库密码,复制到控制台粘贴,回车即可,注意不要中断安装过程
cd ~ 进入用户主目录

sudo yum -y install unzip #安装unzip
sudo yum -y install wget #安装wget
sudo yum -y install git  # 安装git
# 下载安装包
git clone https://gitee.com/dvaloveu/install_env.git
cd install_env
sudo wget http://v.dihuait.com/install_env/jdk-8u231-linux-x64.tar.gz
sudo wget http://v.dihuait.com/install_env/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
# 生成安装用配置文件json
sh 0-1_generate_config_file.sh qwe.1 asd!  #这里修改密码
sudo sh 0-2_excute_all.sh 
#执行所有脚本安装到本机↑

手动安装所有程序在本机

将 install_config.txt ,安装脚本,安装包,放在相同目录下,然后执行各个安装脚本,文件结构如下

执行 0-2_excute_all.sh 将一次执行所有脚本安装在本机

sudo sh 0-2_excute_all.sh 

多主机安装&同时执行多个命令

多个命令用分号隔开,然后一次执行,举例如下

sudo sh 1_install_jdk.sh; sudo sh 2_install_maven.sh; sudo sh 3_install_docker-compose.sh;sudo sh 4_install_nginx.sh; sudo sh 5_install_redis.sh
sudo sh 7_install_nacos.sh; sudo sh 8_install_seata.sh; sudo sh 9_install_dockers.sh

多主机安装需要把相应安装包和安装脚本和 install_config.txt 放在同一目录下,如果缺少相关文件会提示。

开机延迟逐个重启docker所有容器

待更新

1. jdk

需要手动更新环境变量在当前会话中生效,或重启

source /etc/profile  
java -version
javac -version

2. Maven

source /etc/profile
mvn -v

3. docker-compose

docker-compose -version

4. nginx

echo "sudo ps aux|grep nginx"
echo "sudo netstat -tulpn | grep :80"

5. redis

在4G以下内存安装过程如果报错,为内存不足导致,请务必重启机器以释放内存,然后重新执行本脚本。

  • 查看剩余内存
free -m
# 重启 
sudo reboot
  • 获取redis进程
netstat -tuln | grep 6379
sudo ps aux | grep redis-server

7. Nacos

echo "sudo ps aux|grep nacos"
echo "sudo netstat -tulpn | grep :8848"
echo "web访问 ip:8848/nacos"

8. seata

echo "sudo ps aux|grep seata"
echo "sudo netstat -tulpn | grep :8091"
echo "访问nacos web页面查看seata服务"

运维命令

systemctl系统服务相关

  • service 文件目录
    /etc/systemd/system
    cd /etc/systemd/system
    ls /etc/systemd/system
  • 查看服务启动状态
systemctl status redis
  • 查看服务是否启用
systemctl start redis
systemctl stop redis
systemctl restart redis
  • 刷新服务,启动服务
systemctl daemon-reload 
systemctl enable mysql
systemctl daemon-reload 
systemctl enable nacos
systemctl daemon-reload 
systemctl enable nginx
systemctl daemon-reload 
systemctl enable redis
  • 服务单元是否存在
systemctl list-unit-files |grep mysql
systemctl list-unit-files |grep redis
systemctl list-unit-files |grep nacos
systemctl list-unit-files |grep nginx
systemctl list-unit-files |grep seata

docker相关

docker配置参考

https://www.cnblogs.com/chuyiwang/p/17577020.html

卸载清理docker
sudo systemctl stop docker
sudo yum remove docker-ce docker-ce-cli containerd.io
sudo yum remove docker-common

sudo rm -f /usr/bin/docker /usr/bin/dockerd
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker

sudo rm -rf /var/run/docker
sudo rm -rf /var/log/docker

记录

docker composer 没有找到 1.22版本,github只有1.20版,运维提供本地文件
https://github.com/docker/compose/releases?page=21

https://blog.csdn.net/chaogaoxiaojifantong/article/details/128028769

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot整合mybatis配置多数据源(mysql/oracle)

目录 前言导入依赖坐标创建mysql/oracle数据源配置类MySQLDataSourceConfigOracleDataSourceConfig application.yml配置文件配置mysql/oracle数据源编写Mapper接口编写Book实体类编写测试类 前言 springboot整合mybatis配置多数据源&#xff0c;可以都是mysql数据源&#xff…

QT:布局管理器

文章目录 垂直布局使用QVBoxLayout来管理多个控件 水平布局使用QHBoxLayout管理控件 网格布局创建QGridLayout管理四个按钮设置元素的大小比例 表单布局 在之前QT的界面控件中&#xff0c;都是使用绝对定位来完成的&#xff0c;也就是说是用绝对坐标的方式来设置进去的 这样并…

网站高级认证页面模板(自定义安全认证)

网站高级认证页面模板&#xff08;自定义安全认证&#xff09; 仅限于源码测试&#xff0c;不代表真实性 下载地址&#xff1a; https://yuncv.lanzouw.com/i98qC1xm8u4j

ue引擎游戏开发笔记(29)——实现第三人称角色随手柄力度进行移动

1.需求分析 角色可以随手柄力量大小进行走路和跑步&#xff0c;不动时保持角色停顿。 2.操作实现 1.思路&#xff1a;通过动画蓝图和动画混合实现角色移动和输入的联系。 2.建立动画蓝图和混合空间&#xff1a; 3.在混合空间中对角色移动进行编辑&#xff1a; 4.在蓝图中设定变…

Springboot图片上传【本地+oss】

文章目录 1 前端组件页面2 本地上传3 上传到阿里云oss3.1申请开通账号&#xff0c;做好先导准备3.2 开始使用 1 前端组件页面 使用的VueElement组件 在线cdn引入&#xff1a; <script src"https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.js"></script&…

深入教程:在STM32上实现能源管理系统

引言 能源管理系统&#xff08;EMS&#xff09;在提高能源效率、减少能源消耗和支持可持续发展方面起着关键作用。本教程将介绍如何在STM32微控制器上开发一个能源管理系统&#xff0c;这种系统能够监控和控制能源使用&#xff0c;适用于家庭自动化、工业控制系统以及任何需要…

ARP欺骗使局域网内设备断网

一、实验准备 kali系统&#xff1a;可使用虚拟机软件模拟 kali虚拟机镜像链接&#xff1a;https://www.kali.org/get-kali/#kali-virtual-machines 注意虚拟机网络适配器采用桥接模式 局域网内存在指定断网的设备 二、实验步骤 打开kali系统命令行&#xff1a;ctrlaltt可快…

定点小数_

目录 定点小数表示和运算 定点小数的原码 定点小时加减法运算 定点小数 vs 定点整数 定点小数表示和运算 定点小数的原码 定点小数原反补转换 定点小时加减法运算 定点小数 vs 定点整数 定点小数原码依然是 取值范围等比数列 符号位 定点小数 同样的:

QT5之事件——包含提升控件

事件概述 信号就是事件的一种&#xff0c;事件由用户触发&#xff1b; 鼠标点击窗口&#xff0c;也可以检测到事件&#xff1b;产生事件后&#xff0c;传给事件处理&#xff0c;判断事件类型&#xff0c;后执行事件相应函数&#xff1b; 类似单片机的中断&#xff08;中断向量…

C语言 联合和枚举

目录 1. 联合体1.1 联合体类型的声明1.2 联合体变量的创建1.3 联合体的特点1.4 联合体在内存中的存储1.5 联合体使用举例 2. 枚举类型2.1 枚举类型的声明2.2 枚举变量的创建和初始化2.3 枚举类型的大小2.4 枚举类型的优点 正文开始 上次我们通过《C语言 结构体详解》学习了结构…

基于SpringBoot的饭店外卖平台的设计与实现

项目描述 这是一款基于SpringBoot的饭店外卖平台的系统 模块描述 用户端 登录 首页 商家信息 点餐 菜品列表 下单 订单列表 账号下单列表 个人中心 个人资料 修改信息 评论管理 评论菜品 查看评论 打赏骑手 打赏骑手 管理员 登录 菜品管理 修改 下架 订单列表 下单记录 菜品管理…

领域驱动设计(DDD)笔记(一)基本概念

文章链接 领域驱动设计&#xff08;DDD&#xff09;笔记&#xff08;一&#xff09;基本概念-CSDN博客领域驱动设计&#xff08;DDD&#xff09;笔记&#xff08;二&#xff09;代码组织原则-CSDN博客领域驱动设计&#xff08;DDD&#xff09;笔记&#xff08;三&#xff09;后…

C#知识|事件集中响应,多个按钮关联同一事件(实例练习)

哈喽&#xff0c;你好&#xff0c;我是雷工&#xff01; 本节学习窗体Controls集合、控件事件的统一关联及如何优化重复代码。 01 事件集中响应 原理&#xff1a;就是相同的控件&#xff0c;可以关联同一个事件响应方法。 02 示例演示 2.1、示例功能 该示例实现窗体中选择…

光伏光热热泵系统(PVT)介绍

伏光热PVT热泵是一种主动利用太阳辐射能的有效方式&#xff0c;其不仅能够进行光伏发电&#xff0c;还能够利用少量的电能提高热能的品位。太阳能PVT热泵除具有发电和制热的功能外&#xff0c;还可以制冷&#xff0c;其产生的冷能可用于夏季建筑室内温度的调节。 与此同时&…

STM32单片机wifi云平台+温度+烟雾+火焰+短信+蜂鸣器 源程序原理图

目录 1. 整体设计 2. 液晶显示 3. Ds18b20温度传感器 4. Mq2烟雾传感器 5. 火焰传感器传感器 6. 蜂鸣器驱动控制 7. 按键 8. Gsm短信模块 9. Esp8266wifi模块 10、源代码 11、资料内容 资料下载地址&#xff1a;STM32单片机wi…

Adobe-Premiere-CEP 扩展 入门-视频剪辑-去气口插件-Silence Remover

短视频&#xff0c;这两年比较火&#xff0c;不要再问为什么用Premiere&#xff0c;非常难用&#xff0c;为什么不用某影&#xff0c;某些国内软件非常接地气简单&#xff0c;又例如某音资深的视频短编辑就很好用了。。。 Premiere二次开发调试难&#xff0c;不如自己搞个cons…

展开说说:Android Fragment完全解析-卷三

本文章分析了Fragment的管理器FragmentManager、事务FragmentTransaction 、以及完整的声明周期和动态加载Fragment的原理解析。 1、Fragment管理器 FragmentManager 类负责在应用的 fragment 上执行一些操作&#xff0c;如添加、移除或替换操作&#xff0c;以及将操作添加到…

介绍BCD码

BCD码&#xff08;Binary-Coded Decimal‎&#xff09;&#xff0c;用4位 二进制数 来表示1位 十进制数 中的0~9这10个数码&#xff0c;是一种二进制的数字编码形式&#xff0c;用 二进制编码的十进制 代码。 BCD码这种编码形式利用了四个位元来储存一个十进制的数码&#xff0…

关于莫比乌斯变换属性梳理

文章目录 一、说明二、多视角看莫比乌斯变换2.1 从几何角度2.2 复分析中的莫比乌斯变换2.3 莫比乌斯变换运算组合2.4 莫比乌斯变换的不动点2.5 三个点决定一个莫比乌斯变换2.6 交叉比2.7 莫比乌斯变换的逆变换 三 莫比乌斯变换性质证明3.1 证明1&#xff1a;莫比乌斯变换将圆变…

最新SpringBoot项目地方废物回收机构管理系统

采用技术 最新SpringBoot项目地方废物回收机构管理系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 登录页面 后端管理员 管理员首页 员工管理 设…