Ng上的脚本
一、二进制包安装
1.JDK
curl -sSL --basic http://www.klquan.com/scripts/install/jdk.sh | bash
检查是否安装
二进制包安装
配置环境变量
2.docker
curl -sSL --basic http://www.klquan.com/scripts/install/docker.sh | bash
检查是否安装
二进制包安装
systemd管理起来
3.docker-compose
curl -sSL --basic http://www.klquan.com/scripts/install/docker-compose.sh | bash
4.nginx
curl -sSL --basic http://www.klquan.com/scripts/install/nginx.sh | bash
检查是否安装
二进制包安装
systemd管理起来
5.mysql
curl -sSL --basic http://www.klquan.com/scripts/install/mysql.sh | bash
检查是否安装
处理服务器环境
二进制包安装
重新配置文件
systemd管理起来
6.redis
7.frpc
二、Docker安装

※生成密码
curl -sSL --basic http://www.klquan.com/scripts/docker/passwd/account.sh | sh
1.Zookeeper
下载镜像
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
##########################################
其他信息
# 显示“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
下载镜像
部署单点
部署集群
#请根据项目实际情况修改对应的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
##########################################
其他信息
#显示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
下载镜像
部署单点
部署集群
#请根据项目实际情况修改对应的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
##########################################
其他信息
#显示"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
下载镜像
部署单点
部署集群
#请根据项目实际情况修改对应的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个节点
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
##########################################
其他信息
#显示"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()'
初始化数据库
#集群时需在主数据库执行,否则报错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
其他信息
#卸载并清空数据
curl -sSL --basic http://www.klquan.com/scripts/docker/nginx/clear.sh | sh
6.部署Gitlab
部署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
linux使用git客户端
yum -y install git
git config --global user.name "root"
git config --global user.email "klquan@163.com"
git config --global color.ui true
git config --list
git init
git remote add origin http://43.143.161.248:88/root/ms.git
git add .
git commit -m "Initial commit"
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.新机器
curl -sSL --basic http://www.klquan.com/scripts/other/new.sh | sh
能连外网
命令提示符颜色设置为醒目紫
关闭防火墙,selinux,swap
时间同步
2.三级标题
正文内容,正文内容,正文内容,正文内容,正文内容,正文内容