首页 > 系统相关 >自动安装环境shell脚本使用和运维基础使用讲解

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

时间:2024-05-01 23:24:03浏览次数:28  
标签:shell 运维 mysql sudo redis sh install 使用 docker

准备和说明

  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

标签:shell,运维,mysql,sudo,redis,sh,install,使用,docker
From: https://www.cnblogs.com/handagou/p/18169789

相关文章

  • python3使用dpkt生成PCMA格式rtp流
    操作系统:CentOS7.6_x64Python版本:3.9.12dpkt版本:1.9.8PCMA编码是VoIP通信中常见的格式,今天整理下CentOS7环境下,python3如何使用dpkt生成PCMA格式rtp流的笔记,并提供相关示例代码、运行效果视频和配套文件下载。我将从以下几方面进行展开:背景材料使用dpkt生成PCMA格式rt......
  • PC-100垂直拉制仪使用指南
    序言  现在大部分的实验室配置的都是水平拉制仪(大部分是Sutter的P-97和P-1000)的普及,很多新的实验室也没有人配备垂直拉制仪,但是垂直拉制仪在制备锥度较长的吸附针呀、注射病毒这种用途时,比水平拉制仪更具优势,有时候,在水平拉制仪出故障或者比较急时,一些实验室也会使用垂直拉制仪......
  • 使用joinjs绘制流程图(七)-实战-绘制流程图+节点设置样式+节点添加事件
    效果图原理joinjs中通过svg来绘制流程图,然后我们可以使用localToClientRect这个方法对节点(element)复制,它会在原来的element在svg位置上生成一个html元素,但是这样会造成原来的element节点监听的点击事件无法触发,我们可以使用原生来操作对这个元素(比如样式的设置和事件的监听)代......
  • 如何安全的使用密码登录账号(在不知道密码的情况下)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 1、打开工具,进入账号密码模块,如图2、看到鼠标移动到密码那一栏有提示,按住Ctrl或者Alt点击或者双击就能复制内容,这方法虽然快,但还是能看到密码。3、先模拟一个账号,随意填写数据。保存它。之后左侧就会出现一......
  • LDAP简单介绍及使用
    前言随着企业内部各种开源平台越来越多,例如:gitlab、Jenkins、JumpServer、Rancher等,账号维护变成一件繁琐的事情,这时需要一个统一账号维护的平台,每人只需一个账号,在公司内部平台通用。而大多数开源平台都支持LDAP,因此只要搭建好LDAP服务,将企业内部这些平台都对接到LDAP,即可实......
  • 使用 AWS CLI 操作 S3
    使用cp命令将本地文件拷贝到S3,或者将S3中的文件拷贝到本地。awss3cplocal-file-paths3://your-bucket-name/optional-folder-path/remote-file-namelocal-file-path:您的本地机器上的文件路径,比如C:/Documents/example.txt或者/home/user/example.txt。your-bu......
  • 使用 AWS CLI 开发 Amazon EC2
    创建EC2实例:awsec2run-instances--image-idami-04b70fa74e45c3917--count1--instance-typec5a.xlarge--key-name"DefaultSSHKey"--security-groupslaunch-wizard-1--block-device-mappings"[{\"DeviceName\":\"/dev/sda1\......
  • nestjs如何使用typeorm
     默认你有点nestjs基础  第一步安装npmadd@nestjs/typeormtypeormmysql2第二步 imports:[TypeOrmModule.forRoot({type:'mysql',host:'',port:3306,username:'',password:'',database:''......
  • 使用 AWS CLI 开发 Amazon S3
    AmazonS3:AmazonSimpleStorageServiceawss3ls参考:s3命令解释:s3操作S3(上传对象、下载对象):s3apiS3管理(创建桶、删除桶):s3control......
  • shell编程
    !/bin/bashset-u-e安全export环境变量cat/porc/$PID/export位置变量$0:表示脚本或命令本身的名称。$1,$2,$3,...:表示第一个、第二个、第三个等参数的值。$*或$@:表示所有位置参数的列表。$#:表示传递给脚本或命令的位置参数的个数。echo$[12^4]=8异......