脚本
#!/bin/bash
## -bash ./lucky.sh:/bin/bash^M:bad interpreter:no such file or directory
## vim或vi的命令模式下,输入命令 set fileformat=unix即可解决换行问题
## 如果wget获取阿里云源那一步失败了就手动执行一下wget条命令,然后再重新执行一遍脚本文件
echo -e "\e[1;31m【--------------------------在opt和var下创建lucky文件夹】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
mkdir -p /opt/lucky
mkdir -p /var/lucky
mkdir -p /usr/local/scripts
echo -e "\e[1;31m【--------------------------禁用防火墙】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
echo -e "\e[1;32m【--------------------------修改selinux】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
echo -e "\e[1;32m【--------------------------安装wget】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
yum install wget -y
echo -e "\e[1;33m【--------------------------修改yum源】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
echo "------------获取阿里云源----------------"
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
echo -e "\e[1;33m【--------------------------安装常用软件】\e[0m"
echo "------------等待5秒-----------------"
yum install man man-pages ntp vim lrzsz zip unzip telnet perl net-tools -y
echo -e "\e[1;33m【--------------------------同步系统时间】\e[0m"
echo "------------等待5秒-----------------"
yum info ntp && ntpdate cn.ntp.org.cn
echo -e "\e[1;33m【--------------------------DNS域名配置】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
echo "192.168.48.124 basenode" >> /etc/hosts
echo "192.168.48.125 allnode" >> /etc/hosts
#echo -e "\e[1;33m【--------------------------安装Nginx】\e[0m"
#sleep 5
echo -e "\e[1;33m【--------------------------设置开机启动项——开机校准时间】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
touch /usr/local/scripts/auto_ntpdate.sh
echo "#!/bin/bash" >> /usr/local/scripts/auto_ntpdate.sh
echo "yum info ntp && ntpdate cn.ntp.org.cn" >> /usr/local/scripts/auto_ntpdate.sh
chmod a+x /usr/local/scripts/auto_ntpdate.sh
echo '/usr/local/scripts/auto_ntpdate.sh' >> /etc/rc.local
chmod a+x /etc/rc.local
echo -e "\e[1;33m【--------------------------安装JDK】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
echo "------------安装jdk-----------------"
rpm -ivh $1
echo "------------配置环境变量-----------------"
apmbao=`ls /usr/java/ | grep jdk`
echo "export JAVA_HOME=/usr/java/$apmbao" >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
echo "------------查看java版本-----------------"
java -version
echo -e "\e[1;33m【--------------------------安装Tomcat】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
echo "------------解压压缩包-----------------"
tar -zxvf $2 #解压
rm -rf $2
if test -e /usr/local/tomcat8 #查看目录下tomcat8是否存在 存在则删除
then
rm -rf /usr/local/tomcat8
fi
mv `ls | grep tomcat` tomcat8 #更改文件名称
mv tomcat8 /usr/local/
echo '<h1>Hello Linux! Hello Tomcat!</h1>' > /usr/local/tomcat8/webapps/ROOT/index.jsp #改变首页显示内容
echo "------------开启tomcat-----------------"
/usr/local/tomcat8/bin/startup.sh #启动tomcat
echo "----输入 虚拟机ip地址:8080 到浏览器---------" #浏览器显示网页
echo -e "\e[1;33m【--------------------------安装Mysql】\e[0m"
echo "------------等待5秒-----------------"
sleep 5
echo "------------解压压缩包-----------------"
tar xvJf $3 #解压mysql文件
echo "------------解压完成-----------------"
rm -rf $3 #删除压缩包
if test -e /usr/local/mysql #查看目录下mysql是否存在 存在则删除
then
rm -rf /usr/local/mysql
fi
mv `ls | grep mysql` mysql #将解压后的文件改名为mysql
mkdir -p /root/mysql/data #在mysql目录下创建data目录
mv mysql /usr/local/ #将mysql目录移动到/usr/local目录下
useradd mysql #增加用户mysql,用来操作mysql
chmod -R 777 /usr/local/mysql #将mysql的文件和组更改为mysql:mysql
yum install libaio #安装libaio软件(没有这个软件后面初始化mysql可能会出错)
echo "------------生成初始密码-----------------"
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize #初始化mysql,生成初始密码
echo "------------请记住初始密码!-----------------" #初始密码在最后的位置
cp /etc/my.cnf /opt #将my.cnf拷贝到/opt目录下 下面将要覆盖此文本
echo '[mysqld]' > /etc/my.cnf #覆盖my.cnf的内容 mysql-safe的内容不需要
echo 'symbolic-links=0' >> /etc/my.cnf #追加内容
echo 'basedir=/usr/local/mysql/' >> /etc/my.cnf #追加内容
echo 'datadir=/usr/local/mysql/data/' >> /etc/my.cnf #追加内容
echo 'socket=/tmp/mysql.sock' >> /etc/my.cnf
echo 'character-set-server=UTF8MB4' >> /etc/my.cnf
echo "------------添加开机自启动服务-----------------"
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql #添加mysqld服务到系统服务
chmod a+x /etc/init.d/mysql #改变mysql的权限 让mysql可以执行
chkconfig --add /etc/init.d/mysql #添加服务
service mysql start #开启mysql服务
service mysql status #查看mysql的开启状态
ln -s /usr/local/mysql/bin/mysql /usr/bin #将mysql命令添加到服务
echo "------------mysql配置完成,登录mysql,接下来请手动完成配置-----------------"
mysql -uroot -p #登录mysql 使用之间生成的随机密码
#--------------------登录后手动执行下面的操作--------------------#
#鼠标中建可以直接粘贴
#ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; #更改mysql的登录密码
#use mysql; #选择mysql数据库
#update user set host='%' where user='root'; #修改远程链接 修改后可使用mysql Workbench登录 端口默认3306
#flush privileges; #使得设置生效
#quit #离开mysql
#---------------------mysql安装完毕------------------------------#
使用
- 因为其中有安装jdk、tomcat和mysql,所以需要输入这三个安装包作为参数(如果不需要可以直接注释了)
vi init.sh
sh init.sh jdk-8u321-linux-x64.rpm apache-tomcat-8.5.72.tar.gz mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
#灵活运用tab补全 (注意软件顺序)
初始化的东西太多,就不贴图了