Ng上的脚本

一、二进制包安装

    • 能联网的机器都行

    1.JDK

    1. curl -sSL --basic http://www.klquan.com/scripts/install/jdk.sh | bash
      1. 检查是否安装
      2. 二进制包安装
      3. 配置环境变量

    2.docker

    1. curl -sSL --basic http://www.klquan.com/scripts/install/docker.sh | bash
      1. 检查是否安装
      2. 二进制包安装
      3. systemd管理起来

    3.docker-compose

    1. curl -sSL --basic http://www.klquan.com/scripts/install/docker-compose.sh | bash

    4.nginx

    1. curl -sSL --basic http://www.klquan.com/scripts/install/nginx.sh | bash
      1. 检查是否安装
      2. 二进制包安装
      3. systemd管理起来

    5.mysql

    1. curl -sSL --basic http://www.klquan.com/scripts/install/mysql.sh | bash
      1. 检查是否安装
      2. 处理服务器环境
      3. 二进制包安装
      4. 重新配置文件
      5. systemd管理起来

    6.redis

    • curl -sSL --basic http://www.klquan.com/scripts/install/redis.sh | bash

    7.frpc

    • curl -sSL --basic http://www.klquan.com/scripts/install/frp.sh | bash

二、Docker安装

bin.zip

    ※生成密码

curl -sSL --basic http://www.klquan.com/scripts/docker/passwd/account.sh | sh

    1.Zookeeper

    1. 下载镜像
      • curl -sSL --basic http://www.klquan.com/scripts/docker/zookeeper/pull.sh | sh
VERSION="3.5.6" docker pull zookeeper:$VERSION docker tag zookeeper:$VERSION zookeeper
set -e Path=/data/env/zookeeper curl -sSL --basic http://www.klquan.com/scripts/docker/zookeeper/pull.sh | sh ############install################ mkdir -p $Path && cd $Path docker run -d --rm -v $Path:/target zookeeper sh -c 'mv /conf /target/conf' docker run -d --restart=always -p 2181:2181 -p 2888:2888 -p 3888:3888 -p 1888:8080 -v $Path/data:/data -v $Path/log:/datalog -v $Path/conf:/conf --name zookeeper zookeeper docker logs -f zookeeper exit 0
#请根据项目实际情况修改对应的ip,单点不需要设置 mkdir -p /data/env/zookeeper/ && cat <<EOF > /data/env/zookeeper/env.sh export ZKSERVER1=172.20.48.117 export ZKSERVER2=172.20.48.146 export ZKSERVER3=172.20.48.88 EOF #在每个节点执行相应的脚本 #开始执行第1个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/zookeeper/node1.sh | sh ########################################## #开始执行第2个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/zookeeper/node2.sh | sh ########################################## #开始执行第3个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/zookeeper/node3.sh | sh ##########################################
    1. 其他信息
# 显示“binding to port /0.0.0.0:2181或 Started @778ms”即已启动,ctrl+c可返回 # 检查-集群获取主节点 docker exec zookeeper sh -c 'zkServer.sh status /conf/zoo.cfg' #卸载并清空数据 curl -sSL --basic http://www.klquan.com/scripts/docker/zookeeper/clear.sh | sh

    2.部署Redis

    1. 下载镜像
      • curl -sSL --basic http://www.klquan.com/scripts/docker/redis/pull.sh | sh
    2. 部署单点
      • curl -sSL --basic http://www.klquan.com/scripts/docker/redis/standalone.sh | sh
    3. 部署集群
#请根据项目实际情况修改对应的ip,单点不需要设置 mkdir -p /data/env/redis/ && cat <<EOF> /data/env/redis/env.sh export REDIS1=172.20.48.117 export REDIS2=172.20.48.146 export REDIS3=172.20.48.88 EOF #在每个节点执行相应的脚本 #开始执行第1个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/redis/node1.sh | sh ########################################### #开始执行第2个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/redis/node2.sh | sh ########################################## #开始执行第3个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/redis/node3.sh | sh ##########################################
    1. 其他信息
#显示redis图标即已启动,ctrl+c可返回Console执行其他操作。 #检查-操作redis-cli docker exec -it redis redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> auth 密码 OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> info   #检查-集群获取主节点 docker exec -it redis redis-cli -h 127.0.0.1 -p 26379 SENTINEL get-master-addr-by-name cluster01master #卸载并清空数据 curl -sSL --basic http://www.klquan.com/scripts/docker/redis/clear.sh | sh

    3.部署RabbitMQ

    1. 下载镜像
      • curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/pull.sh | sh
    2. 部署单点
      • curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/standalone01.sh | sh
      • curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/standalone02.sh | sh
    3. 部署集群
#请根据项目实际情况修改对应的ip,单点不需要设置 mkdir -p /data/env/rabbitmq/ && cat <<EOF > /data/env/rabbitmq/env.sh export RABBITMQ1=172.20.48.117 export RABBITMQ2=172.20.48.146 export RABBITMQ3=172.20.48.88 EOF #在每个节点执行相应的脚本 #开始执行第1个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/node1-01.sh | sh ########################################## #开始执行第2个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/node2-01.sh | sh ########################################## #开始执行第3个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/node3-01.sh | sh ########################################## #在第1个节点启动集群 curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/node1-02.sh | sh ########################################## #在第2个节点加入集群 curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/node2-02.sh | sh ########################################## #在第3个节点加入集群 curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/node3-02.sh | sh ##########################################
    1. 其他信息
#显示"Server startup complete"即已启动,ctrl+c可返回Console执行其他操作。 #检查-集群获取主节点 docker exec rabbitmq rabbitmqctl cluster_status #清空数据执行: curl -sSL --basic http://www.klquan.com/scripts/docker/rabbitmq/clear.sh | sh

    4.部署Mysql

    1. 下载镜像
      • curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/pull.sh | sh
    2. 部署单点
      • curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/standalone.sh | sh
    3. 部署集群
#请根据项目实际情况修改对应的ip,单点不需要设置 mkdir -p /data/env/mysql/ && cat <<EOF > /data/env/mysql/env.sh export MYSQL1=172.20.48.117 export MYSQL2=172.20.48.146 export MYSQL3=172.20.48.88 EOF #在每个节点执行相应的脚本 #开始执行第1个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun1/node1-01.sh | sh ########################################## #开始执行第2个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun1/node2-01.sh | sh ########################################## #开始执行第3个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun1/node3-01.sh | sh ########################################## #在第1、2、3各个节点执行脚本配置复制用户(3个节点都需要执行) curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun1/nodeAll-02.sh | sh ########################################## #在第1个节点启动集群 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun1/node1-03.sh | sh ########################################## #在第2个节点加入集群 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun1/node2-03.sh | sh ########################################## #在第3个节点加入集群 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun1/node3-03.sh | sh ########################################### #若没有看到"Create innodb cluster finished."可以单独在第3个节点执行以下脚本 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun1/node3-04.sh | sh ############################################ #在各个应用节点部署mysql router curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun1/router.sh | sh ##########################################
    1. 部署多主集群(谨慎使用)
#开始执行第1个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun2/Node1-01.sh | sh ########################################## #开始执行第2个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun2/Node2-01.sh | sh ########################################## #开始执行第3个节点 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun2/Node3-01.sh | sh ########################################## #在第1、2、3各个节点执行脚本配置复制用户(3个节点都需要执行) curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun2/NodeAll-02.sh | sh ########################################## #在第1个节点创建并启动多主集群 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun2/Node3-01.sh ########################################## #在所有节点修改配置文件 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/jiqun2/NodeAll-04.sh | sh ##########################################
    1. 其他信息
#显示"mysqld: ready for connections"即已启动,ctrl+c可返回Console执行其他操作。 #检查-检查版本及字符集 docker exec -it mysql sh -c "mysql -uroot -p -e \" show variables like '%version%'; show variables like '%character%'; \"" #检查-集群获取主节点 docker exec -it mysql sh -c "mysql -uroot -p -e \"SELECT * FROM performance_schema.replication_group_members; select * from performance_schema.global_status where VARIABLE_NAME='group_replication_primary_member'\"" #清空Mysql数据执行: curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/clear.sh | sh     #清除MysqlRouter执行: docker stop mysqlrouter && docker rm mysqlrouter #查看集群命令: [root@安装mysql-shell的节点 ~]# /data/env/mysql-shell/bin/mysqlsh root@mysql1:3306 -i -e 'var cluster = dba.getCluster();cluster.status()'
    1. 初始化数据库
#集群时需在主数据库执行,否则报错ERROR 1290 (HY000) at line 1: The MySQL 。 。。 #单节点时直接在数据库服务器执行即可 curl -sSL --basic http://www.klquan.com/scripts/docker/mysql/database.sh | sh

    5.部署Nginx

#!/bin/sh set -e #【1】############################################################### images if [ "`docker images | grep nginx`" ]; then     echo 'Detecting image exist. Will not pull again.'     docker images nginx     exit 0 else     echo 'Begin to pull image ...' fi #docker pull nginx:1.17.0 #docker tag nginx:1.17.0 nginx:latest docker pull nginx #【1】############################################################### config if [ -z "$DOCKER_NET" ]; then   DOCKER_NET="default" else     echo "DOCKER_NET=$DOCKER_NET"     DOCKER_NET=$DOCKER_NET fi mkdir -p /data wget -P /data/ http://www.klquan.com/scripts/docker/nginx/nginx.tar.gz cd /data/ && tar xf nginx.tar.gz && rm -f nginx.tar.gz #【3】############################################################### run docker run -d --restart=always -p 80:80 -p 443:443 --hostname nginx \         -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \         -v /data/nginx/conf/conf.d:/etc/nginx/conf.d \         -v /data/nginx/log:/var/log/nginx \         -v /data/nginx/html:/usr/share/nginx/html \         --name nginx nginx:latest echo 'nginx started. serving ...' docker logs -f nginx exit 0
    1. 其他信息
#卸载并清空数据 curl -sSL --basic http://www.klquan.com/scripts/docker/nginx/clear.sh | sh

    6.部署Gitlab

    1. 部署Gitlab
      • mkdir /opt/gitlab
      • GITLAB_HOME=/opt/gitlab
docker run --detach \ --hostname gitlab.ctnrs.com \ --publish 443:443 \ --publish 88:80 \ --publish 2222:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/logs:/var/log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ gitlab/gitlab-ce:13.12.5-ce.0
      • 访问地址:http://IP:88
      • 初次会先设置管理员密码,然后登陆,默认管理员用户名root,密码就是刚设置的。
    1. linux使用git客户端
      1. yum -y install git
      2. git config --global user.name "root"
      3. git config --global user.email "klquan@163.com"

      4. git config --global color.ui true

      5. git config --list

      6. git init

      7. git remote add origin http://43.143.161.248:88/root/ms.git

      8. git add .

      9. git commit -m "Initial commit"

      10. git push -u origin master

    7.部署NFS-不能用

#请根据项目实际情况修改对应的ip mkdir -p /data/env/nfs/ && cat <<EOF > /data/env/nfs/env.sh ###########################NFS server ip地址 export NFS_SERVER=172.20.48.88 EOF #NFS server 服务器执行: curl -sSL --basic -u ybz:ybz@yonyou http://ybz-localize.integrate.app.yyuap.com/ops-localize/scripts/nfs/server.sh | sh #NFS client服务器执行: curl -sSL --basic -u ybz:ybz@yonyou http://ybz-localize.integrate.app.yyuap.com/ops-localize/scripts/nfs/node.sh | sh     #检查-是否挂载到NFS df -kh |grep data/share #检查-NFS server 输出清单 showmount -e ip  NFSServer的ip #卸载NFS #NFS 客户端服务器执行: curl -sSL --basic -u ybz:ybz@yonyou http://ybz-localize.integrate.app.yyuap.com/ops-localize/scripts/nfs/clear.sh | sh    

三、其他

    1.新机器

    1. curl -sSL --basic http://www.klquan.com/scripts/other/new.sh | sh
      1. 能连外网
      2. 命令提示符颜色设置为醒目紫
      3. 关闭防火墙,selinux,swap
      4. 时间同步

    2.三级标题

正文内容,正文内容,正文内容,正文内容,正文内容,正文内容