• 欢迎访问佰阅部落,本站为优质开源程序分享站,所有自研项目均开源免费,可在Github查看源码。 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧
  • 欢迎积极参与讨论、反馈问题

一键脚本:宝塔LNMP环境一键部署并用TG通知消息

shell 佰阅部落 12个月前 (12-25) 2642次浏览 0个评论
文章目录[隐藏]

接触宝塔面板久了,总会好奇的问,为啥安装过程有终端和界面操作两部分?有没有在终端直接部署完成的呢?找了下,还真没有,目前已经做好的LNMP环境的,都是Docker版宝塔面板。因此,借鉴了Docker构建的过程后,我制作了如下脚本。可以在终端一键部署LNMP环境的宝塔面板,部署完毕,还可以在TG上通知你。已实测多次,暂无bug,如有问题,可以在后面留言评论。

0.宝塔LNMP一键部署脚本

bash <(curl -L -s https://raw.githubusercontent.com/Baiyuetribe/baiyue_onekey/master/btlnmp.sh) 

具体环境:nginx1.17+mysql mariadb_10.3+php7.3+phpadmin4.9

系统要求:centos7.x

1.效果图(终端截图)

一键脚本:宝塔LNMP环境一键部署并用TG通知消息

2.效果图(TG截图)

一键脚本:宝塔LNMP环境一键部署并用TG通知消息

3.源码贴图

源码主要借鉴宝塔官方安装脚本和Docker版的安装脚本,外加一部分TG通用发消息接口。

#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#===================================================================#
#   System Required:  CentOS 7                           		      #
#   Author: Azure <2894049053@qq.com> TG:@Latte_Coffe                #
#   github: @baiyutribe <https://github.com/baiyuetribe>             #
#   Blog:  佰阅部落 https://baiyue.one                           		#
#===================================================================#
#///宝塔环境终端部署mysql mariadb_10.3+php7.3+nginx1.19+phpadmin4.9
#
#一键脚本
#check root
[ $(id -u) != "0" ] && { echo "错误: 您必须以root用户运行此脚本"; exit 1; }
rm -rf all
rm -rf $0
init(){
    echo "懒人部署宝塔环境:一般耗时大约十几分钟"
    echo "开始安装宝塔命令"
    a=$(date "+%s")
    yum install -y wget &>/dev/null
    #脚本来源于宝塔官网
    wget -O install.sh http://download.bt.cn/install/install_6.0.sh &>/dev/null
    echo y | bash install.sh &>/dev/null
    b=$(date "+%s")    
    echo "宝塔面板已完成安装 耗时:$(($b-$a))s"
}

init_env(){
    echo "开始安装NGINX1.17"
    bash /www/server/panel/install/install_soft.sh 1 install nginx 1.17 &>/dev/null
    c=$(date "+%s")
    echo "nginx安装完成,耗时:$(($c-$b))s"
    echo "开始安装php7.3"
    bash /www/server/panel/install/install_soft.sh 1 install php 7.3 &>/dev/null || echo 'Ignore Error' &>/dev/null
    d=$(date "+%s")
    echo "php安装完成,耗时:$(($d-$c))s"
    echo "开始安装mysql mariadb_10.3"
    bash /www/server/panel/install/install_soft.sh 1 install mysql mariadb_10.3 &>/dev/null
    e=$(date "+%s")
    echo "mysql安装完成,耗时:$(($e-$d))s"    
    echo "开始安装phpadmin4.9"
    bash /www/server/panel/install/install_soft.sh 1 install phpmyadmin 4.9 &>/dev/null || echo 'Ignore Error' &>/dev/null
    f=$(date "+%s")
    echo "phpadmin安装完成,耗时:$(($f-$e))s"
    echo "所有软件已安装完毕"
    #添加软件到首页    
    echo '["linuxsys", "webssh", "nginx", "php-7.3", "mysql", "phpmyadmin"]' > /www/server/panel/config/index.json
    echo "正在重启所有服务器组件"
    for file in `ls /etc/init.d`
    do if [ -x /etc/init.d/${file} ];  then 
        /etc/init.d/$file restart
    fi done
    g=$(date "+%s")        
    echo "重启各种服务组件完毕,耗时:$(($g-$f))s"
}
noticeTG(){
    TOKEN=XXXXX:XXXXXXXXXXXXXXXXXXX     #TG机器人API—Token口令
    chat_ID=XXXXXXX      #推送消息的ID(可以是个人、也可以是Group或Chanel)
    BtPanelURL=`echo 14 | bt |grep http`
    username=`echo 14 | bt |grep username`
    password=`echo 14 | bt |grep password`
    message_text="Boss,您的服务器搭建完毕了,请检阅${hour}:${min}:${sec}
    $BtPanelURL
    $username
    $password"
    #echo "$message_text"
    curl -s -X POST https://api.telegram.org/bot${TOKEN}/sendMessage -d chat_id=${chat_ID} -d text="${message_text}" > /dev/null    
}

init
init_env
totaltime=$(($g-$a))
hour=$(( $totaltime/3600 ))
min=$(( ($totaltime-${hour}*3600)/60 ))
sec=$(( $totaltime-${hour}*3600-${min}*60 ))
echo ${hour}:${min}:${sec}
noticeTG 
clear
echo "=============安装概览================="
echo "BT面板:$(($b-$a))s"
echo "nginx:$(($c-$b))s"
echo "php:$(($d-$c))s"
echo "mysql:$(($e-$d))s"
echo "phpadmin:$(($f-$e))s"
echo "Total总耗时:${hour}时:${min}分:${sec}秒"
echo "====================================="
#显示宝塔面板信息
bt 14

4.评语

该脚本可以在终端静默安装好基于宝塔面板的LNMP环境,一切结束后还可以及时通知到你的TG上,非常适合各种一键部署脚本搭配使用。也适合各类频繁搭建宝塔面板的人。值得收藏。

 


佰阅部落 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:一键脚本:宝塔LNMP环境一键部署并用TG通知消息
赞一下 (1)
佰阅部落
关于作者:
爱折腾,爱学习,用心分享各种实用搭建教程,让优质web程序脱颖而出,欢迎订阅!

您必须 登录 才能发表评论!