一、LNMP简介
1)LNMP是目前互联网主流的WEB服务器架构,主要是由Linux+Nginx+MYSQL|Mariadb+PHP组合,可以发布企业门户网站代码(PHP动态网页),运维人员需要能够独立构建LNMP平台。
2)基于手工MAKE源码方式构建LNMP WEB平台,操作步骤、指令非常的繁琐,如果企业要求快速、高效的配置平台,通过手工操作会消耗大量的人力成本,可以引入SHELL编程自动化实现。
- Nginx官网下载Nginx软件包&解压&编译&安装;
- MYSQL官网下载MYSQL软件包&解压&编译&安装;
- PHP官网下载PHP软件包&解压&编译&安装;
- LNMP配置文件整合,创建PHPinfo测试页面&访问
二、shell代码实现
环境准备:
- Linux系统:Centos7
- 网卡:能够联通互联网(即 ping通www.baidu.com)
- 建议:运行前关闭防火墙和Selinux,防止网站端口被防火墙关闭
#!/bin/bash
#auto install lnmp web
#author zcoder
#2020-02-26
###########################################
#Define Global variable
YUM="yum install -y"
#Define nginx variable
Nginx_Version="1.16.0"
Nginx_Soft="nginx-${Nginx_Version}.tar.gz"
Nginx_SRC=$(echo $Nginx_Soft|sed 's/.tar.gz//g')
Nginx_Down_Url="http://nginx.org/download/"
Nginx_Dir="/usr/local/nginx"
Nginx_Args="--user=www --group=www"
#Define mysql variable
MYSQL_Version="5.6.45"
MYSQL_SOFT="mysql-${MYSQL_Version}.tar.gz"
MYSQL_DIR="/usr/local/mysql56"
MYSQL_SRC=$(echo $MYSQL_SOFT|sed 's/.tar.gz//g')
MYSQL_URL="http://mirrors.163.com/mysql/Downloads/MySQL-5.6/"
DBPass=123456
#Define php variable
Php_Version="5.6.282"
Php_Soft="php-${Php_Version}.tar.bz2"
Php_Down_Url="http://mirrors.sohu.com/php/"
Php_SRC=$(echo $Php_Soft|sed 's/.tar.bz2//g')
Php_Dir="/usr/local/php5"
#Install nginx web
function install_nginx(){
CHECK_NUM1=$(rpm -qa|grep -wcE "gcc|pcre-devel")
if [ $CHECK_NUM1 -lt 2 ];then
$YUM wget gzip tar make gcc net-tools
#安装正则表达式
$YUM pcre pcre-devel zlib zlib-devel
fi
check_tar1=$(