1. 脚本内容编写如下
#!/bin/bash
nginx_install() {
if [ -f /root/nginx-1.18.0.tar.gz ];then
echo "nginx源码包存在,开始解压..."
cd /root && tar xzf nginx-1.18.0.tar.gz
echo "开始安装nginx编译所需环境"
yum -y install gcc pcre-devel openssl-devel > /dev/null
echo "开始检测编译安装nginx"
cd nginx-1.18.0 && ./configure && make && make install
echo "开始修改nginx配置文件"
sed -i '45 s/index.html/index.php/' /usr/local/nginx/conf/nginx.conf
sed -i '65,71 s/#//' /usr/local/nginx/conf/nginx.conf
sed -i '69 s/\/scripts/$document_root/' /usr/local/nginx/conf/nginx.conf
echo "创建测试页面"
echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/index.php
else
echo "nginx源码包不存在,请上传!!!"
exit
fi
}
mysql_insatll() {
rpm -qa|grep -q mariadb-server
if [ $? -eq 0 ];then
echo "mysql服务已经安装"
else
echo "mysql服务未安装,现在开始安装"
yum -y install mariadb mariadb-server > /dev/null
fi
}
php_install() {
num=$(rpm -qa|grep -c php)
if [ $num -eq 7 ];then
echo "php组件已经全部安装"
else
echo "缺少PHP组件,现在开始安装"
yum -y install php php-mysql php-fpm php-gd > /dev/null
fi
}
start_nginx() {
/usr/local/nginx/sbin/nginx
ss -ntlp|grep -wq 80
if [ $? -eq 0 ];then
echo "nginx服务启动成功"
else
echo "nginx服务启动失败!!!"
fi
}
start_mysql() {
systemctl start mariadb
ss -ntlp|grep -wq 3306
if [ $? -eq 0 ];then
echo "mysql服务启动成功"
else
echo "mysql服务启动失败!!!"
fi
}
start_php() {
systemctl start php-fpm
ss -ntlp|grep -wq 9000
if [ $? -eq 0 ];then
echo "php-fpm服务启动成功"
else
echo "php-fpm服务启动失败!!!"
fi
}
echo "-----开始安装nginx-----"
nginx_install
echo "-----开始安装mysql-----"
mysql_insatll
echo "-----开始安装php-----"
php_install
echo "-----开启nginx服务-----"
start_nginx
echo "-----开启mysql服务-----"
start_mysql
echo "-----开启php服务-----"
start_php
2. 执行脚本测试
sh lnmp.sh
3. 打开浏览器输入ip访问PHP测试页面成功