nginx:
wget http://nginx.org/download/nginx-1.18.0.tar.gz #下载到root目录下
vim nginx.sh
chmod +x nginx.sh
#!/bin/bash
#编译安装Nginx
nginx_install(){
#创建软件运行用户
`id www` &> /dev/null
if [ $? -ne 0 ];then
useradd -s /sbin/nologin -M www
fi
#安装依赖
yum -y install pcre-devel zlib-devel openssl-devel
#编译安装
cd /root
tar xvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module && make && make install
}
#脚本开始时间
start_time=`date +%s`
#执行的脚本代码
nginx_install
#脚本结束时间
end_time=`date +%s`
#脚本执行花费时间
const_time=$((end_time-start_time))
echo 'Take time is: '$const_time's'
启停脚本配置
#Nginx服务配置到该文件中
vim /usr/lib/systemd/system/nginx.service
[Unit]
#服务的描述
Description=nginx
After=network.target
[Service]
#后台运行
Type=forking
#启动执行的命令
ExecStart=/usr/local/nginx/sbin/nginx
#重载执行的命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload
#退出执行的命令
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Mysql:
wget http://www.mysql.com/Downloads/MySQL-5.7/mysql-5.7.11.tar.gz
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
vim mysql.sh
#!/bin/bash
#源码编译安装MySQL
mysql_install() {
#1、创建用户
`id mysql` &>/dev/null
[ $? -ne 0 ] && useradd -s /sbin/nologin -M mysql
#2、解决依赖
yum install -y cmake ncurses-devel openssl-devel gcc-c++
#3、编译安装
cd /root
tar zxvf mysql-5.7.11.tar.gz
tar zxvf boost_1_59_0.tar.gz
cd mysql-5.7.28
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_SSL=system \
-DWITH_BOOST=boost \
-DWITH_BOOST=/root/boost_1_59_0 \
-DWITH_SYSTEMD=1
make && make install
#配置文件
mv /etc/my.cnf /etc/my.cnf_bak
#授权并初始化数据库
/usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
#配置服务、自启动和环境变量
mkdir /var/run/mysqld
chown mysql:mysql /var/run/mysqld
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
systemctl start mysqld
systemctl enable mysqld
echo 'PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
source /etc/profile
#设置密码
/usr/local/mysql/bin/mysql -uroot -e "set password=password('123456')";
}
#脚本开始时间
start_time=`date +%s`
#执行的脚本代码
mysql_install
#脚本结束时间
end_time=`date +%s`
#脚本执行花费时间
const_time=$((end_time-start_time))
echo 'Take time is: '$const_time's'
JDK:
vim java.sh
#!/bin/bash
yum -y install java-1.8.0-openjdk*
cat >> /etc/profile << EOF
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
EOF
source /etc/profile
由于脚本不算太长所以没有用变量,也可以将版本写成变量,方便以后在不同版本下进行安装,也可以利用函数将3个脚本合成一个脚本