CentOS7 1.搭建环境脚本

公司没有专职运维,搭建服务器全部都是程序员操作。以前手动搭建需要1天时间,搭建过程很慢、很无聊,于是自己总结了如下脚本,执行完需要18分钟,以后再也不用苦逼的搭建环境了。
build.sh

#!/bin/bashecho "新建developmentEnvironment目录"
cd /usr
mkdir developmentEnvironment
cd /#1.java
echo "下载jdk"
wget http://xx.com.cn/jdk-8u162-linux-x64.tar.gzecho "解压jdk"
tar xf jdk-8u162-linux-x64.tar.gz -C /usr/developmentEnvironmentecho "配置jdk环境变量"
sed -i '$a #java' /etc/profile
sed -i '$a export JAVA_HOME=/usr/developmentEnvironment/jdk1.8.0_162' /etc/profile
sed -i '$a export JRE_HOME=/usr/developmentEnvironment/jdk1.8.0_162' /etc/profile
sed -i '$a export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profile
sed -i '$a export PATH=$PATH:$JAVA_HOME/bin' /etc/profilesource /etc/profileecho "jdk版本"
java -version#2.mysql
echo "下载mysql国内源"
wget -P /etc/yum.repos.d http://xx.com.cn/mysql-community.repoecho "安装mysql服务器"
yum -y install mysql-community-serverecho "启动mysql"
systemctl start mysqldecho "mysql运行状态"
systemctl status mysqldstr=$(grep 'password' /var/log/mysqld.log)
echo "mysql密码日志: ${str}"#分割符为'root@localhost: '
password=${str##*root@localhost: }
echo "mysql默认密码: ${password}"mysql -uroot -p${password} << EOF#更新mysql密码alter user 'root'@'localhost' identified by '111111';#开启mysql的远程访问grant all privileges on *.* to 'root'@'%' identified by '111111' with grant option;#刷新权限,退出flush privileges;exit;
EOFecho "重启mysql服务使配置生效"
systemctl restart mysqldecho "mysql版本"
mysql -V#3.git
echo "git安装"
yum -y install gitecho "git版本"
git --version#4.maven,换成自己的下载地址TODO
echo "下载maven"
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gzecho "解压maven"
tar xf apache-maven-3.6.3-bin.tar.gz -C /usr/developmentEnvironmentecho "配置maven环境变量"
sed -i '$a #maven' /etc/profile
sed -i '$a     MAVEN_HOME=/usr/developmentEnvironment/apache-maven-3.6.3' /etc/profile
sed -i '$a     export MAVEN_HOME' /etc/profile
sed -i '$a     export PATH=${PATH}:${MAVEN_HOME}/bin' /etc/profile
source /etc/profileecho "mvn版本"
mvn -v#5.nginx
echo "nginx_1.gcc安装"
yum -y install gcc-c++echo "nginx_2.PCRE pcre-devel 安装"
yum -y install pcre pcre-develecho "nginx_3.zlib安装"
yum -y install zlib zlib-develecho "nginx_4.OpenSSL安装"
yum -y install openssl openssl-develecho "下载nginx"
wget http://xx.com.cn/nginx-1.12.2.tar.gzecho "解压nginx"
tar xf nginx-1.12.2.tar.gz -C /usr/developmentEnvironmentecho "nginx使用默认配置"
cd /usr/developmentEnvironment/nginx-1.12.2
./configureecho "nginx编译安装"
make
make installecho "启动nginx"
/usr/local/nginx/sbin/nginxecho "配置nginx环境变量"
sed -i '$a #nginx' /etc/profile
sed -i '$a     PATH=$PATH:/usr/local/nginx/sbin' /etc/profile
sed -i '$a     export PATH' /etc/profile
source /etc/profileecho "nginx版本"
nginx -vecho "下载nginx自启动脚本"
wget -P /etc/init.d http://xx.com.cn/nginxecho "nginx添加可执行权限"
chmod a+x /etc/init.d/nginxecho "将nginx加入chkconfig管理列表"
chkconfig --add /etc/init.d/nginxecho "设置nginx终端模式开机启动"
chkconfig nginx on#6.shell
echo "新建shell目录"
mkdir /opt/shell
mkdir -p /opt/cf/backupecho "下载backup.sh"
wget -P /opt/shell http://xx.com.cn/backup.shecho "backup.sh添加可执行权限"
chmod +x /opt/shell/backup.shecho "配置backup.cron"
touch /opt/shell/backup.cron
echo '0 6 * * * /opt/shell/backup.sh' > /opt/shell/backup.cronecho "检查定时任务是否已创建"
crontab /opt/shell/backup.cron
crontab -lecho "启动bakup.sh定时任务"
service crond restartecho "下载start.sh"
wget -P /opt/shell http://xx.com.cn/start.shecho "start.sh添加可执行权限"
chmod +x /opt/shell/start.shecho "/etc/rc.d/rc.local添加start.sh"
sed -i '$a # start' /etc/rc.d/rc.local
sed -i '$a     /opt/shell/start.sh' /etc/rc.d/rc.local
source /etc/rc.d/rc.localecho "rc.local添加可执行权限"
chmod +x /etc/rc.d/rc.localecho "版本"
java -version
mysql -V
git --version
mvn -v
nginx -vecho "删除安装包"
rm -rf ./jdk-8u162-linux-x64.tar.gz
rm -rf ./apache-maven-3.6.3-bin.tar.gz
rm -rf ./nginx-1.12.2.tar.gz

脚本使用到的jdk-8u162-linux-x64.tar.gz、nginx-1.12.2.tar.gz、mysql-community.repo、nginx、backup.sh、start.sh已经上传到 Centos开发环境 ,大家可以下载下来,上传到自己的服务器,做成下载链接。接着将xx.com.cn替换成自己的下载地址, 111111替换成自己的数据库密码,就能运行脚本了。
下载链接用的公司内部的,无法分享,小伙伴有可用的下载链接、遇到问题欢迎留言!
参考:
1.shell脚本中执行mysql命令
2.Linux Shell 截取字符串

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

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

相关文章

工作310:uni-初始获取数据onload

/* 第一步定义onload方法 */onLoad(){/* 调用市场信息的接口 分别 vuex获取 其他三项 */this.$u.api.getpartyList({marketId:this.vuex_user.market_id,type:"通知公告",pageNo:1,pageSize :20}).then(res>{if(res.data.code200){this.tableDatares.data.data.re…

LeetCode 258 Add Digits

leetcode 上做了一题比较有意思&#xff0c;记录一下&#xff0c;传送门&#xff1a;https://leetcode.com/problems/add-digits/description/ 题目意思是&#xff1a;给一个正整数a&#xff0c;让其个位&#xff0c;十位&#xff0c;百位一直到最高位加起来得到另一个数字b&am…

工作311:uni-携带当前参数跳转页面传值

第一步 <view v-for"(item,index) in tableData" click"getDetail(item.id)" class" box"><view class"u-line-1 u-m-b-24 u-font-30 color-3">{{item.title}}&#xff01;</view><view class"u-flex u-ro…

web自动化测试(java)---测试过程中遇到的错误合集

摸索测试&#xff0c;不管是安装、调测第一个用例都会遇到各种各样的问题&#xff0c;或是自己的问题或是程序本身设置问题 只有把所有问题记录下来&#xff0c;才对得起自己的经历 1、设置firefox的执行文件错误 Exception in thread "main" org.openqa.selenium.We…

CentOS7 3.项目持续交付脚本

#停止原有工程 ps -ef | grep demo | grep -v grep | awk {print $2} | xargs kill#删除原有工程 rm -rf /opt/app/demo.jar#解压压缩包指定文件&#xff0c;并存入指定路径 #tar -zxf 压缩包 -C 解压到的路径 压缩包中指定文件名 tar -zxf /opt/app/demo.tgz -C /opt/app .…

工作312:uni-弹出框显示数据

<template><view class"wrap"><u-form :model"form" :rules"rules" ref"uForm" :errorType"errorType"><u-form-item label"标题" label-width"140" style"margin-left:30rp…

运算符和编码

格式化输出 现在有以下需求,让用户输入name, age, job,hobby 然后输出如下所⽰示:------------ info of Alex Li -----------Name : Alex LiAge : 22job : TeacherHobbie: girl------------- end -----------------你怎么实现呢&#xff1f;你会发现&#xff0c;用字符拼接的方…

CentOS7 2.新项目上线脚本

我司一个客户项目对应代码仓库的一个分支&#xff0c;每次新项目上线总是要从master复制一个分支&#xff0c;接着git clone到本地&#xff0c;在IDEA里面替换配置文件内容&#xff0c;上传到代码仓库&#xff0c;启动项目&#xff0c;配置nginx.conf&#xff0c;每次新项目上线…

工作312:uni-时间戳处理

第一步 <u-form-item label"结束时间" prop"endDate" label-width"200"><u-input type"select" v-model"form.endDate" placeholder"请选择" click"end_time_show true"></u-input>…

informix如何查询第一条记录

1.select first 1 * from shop;    正序查询第一条数据 2.select first 1 * from shop order by create_time desc;    按创建时间倒序查询第一条数据 3.select first 1 shopid from shop;    正序查询第一条数据中的shopid字段 4.select first 1 shopid from shop…

工作314:uni-提交成功加入表单验证

增加验证规则 <u-form :model"form" :rules"rules" ref"uForm" :errorType"errorType"><navigator url"../LevineHua-editor/LevineHua-editor" class"single"><u-form-item label"荣誉照片&…

HDOJ 1233 (克鲁斯卡尔+并查集)

还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 58011 Accepted Submission(s): 26354 Problem Description 某省调查乡村交通状况&#xff0c;得到的统计表中列出了任意两村庄间的距离。省政府“…

mysql8优化实战

最近上线了一个10万户的管理系统&#xff0c;以前的客户没有这么多用户量&#xff0c;隐藏在代码中的慢sql渐渐显现出来了。 下面是我最近一周慢sql优化的总结&#xff1a; 多表sql优化、count sql优化、超过10 0000条limit优化一、多表sql优化 二、count sql优化 该表有21350…

工作315:uni-修改添加时间的逻辑

第一步 <u-form-item label"开始日期" prop"startTime" label-width"150"><u-input type"select" :select-open"start_time_show" v-model"form.startTime" placeholder"请选择" click"…

javaScript高程笔记--最佳实践

1.可维护性 《1》什么是可维护的代码 (1)可理解性 (2)直观性 (3)可适应性 (4)可扩展性 (5)可调试性 《2》代码约定 (1)可读性---适当的进行注释【函数和方法、大段代码、复杂的算法、Hack浏览器差异性】 (2)变量和函数名--语义化 (3)变量类型透明---一眼看出来是什么类型的数据…

工作316:uni-修改其他页面的时间逻辑

<u-form-item label"内容" prop"container" label-width"140"><input placeholder"请输入内容" v-model"form.content" type"texarea" /></u-form-item>定义富文本输入跳转有数值 form: {cont…

工作317:uni-修改其他页面整体样式

<template><view class"wrap"><u-form :model"form" :rules"rules" ref"uForm" :errorType"errorType"><u-form-item label"标题" class"label-left" style"margin-left:30r…

犯犯错

1.忘记初始化&#xff0c;程序卡卡卡 2.忘记加多组输入输出 3.Tarjan处理的时候总是把根节点忘掉 4.主函数用数组从0开始&#xff0c;函数中从1开始用&#xff0c;导致凉凉 5.hdu返回TLE的时候记得考虑越界问题 6.memset可能被卡&#xff0c;T的时候想一想&#xff01; 转载于:…

工作318:uni-切换tabber修改状态修饰

onLoad() {/* 调用市场信息的接口 分别 vuex获取 其他三项 */this.$u.api.getTreasureList({marketId: this.vuex_user.market_id,pageNo: 1,pageSize: 20,type:this.current1,releaseBureau:this.releaseBureau,name:this.name}).then(res > {if (res.data.code 200) {thi…

python--循环列表中字典元素

1. 目的&#xff1a; > 实现列表中字典kay - value的遍历 代码&#xff1a; 循环列表中字典元素info_list [{name:zhao,age:22,hight:171},{name:qian,age:23,hight:165},{name:sun,age:24,hight:148},{name:li,age:25,hight:166} ]# 第一种方式 index 0 while index <…