LNMP一键安装脚本

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
#!/bin/bash
# name: Install nginx service.
#
# user
path="/server/packages"
nginx_package="nginx-1.17.10"
mysql_user=mysql
mysql_package=mysql-5.5.62
mysql_path=/usr/local/mysql
php_package="php-5.6.38"

nginx_init(){
    if [ ! -d $path ];then
        mkdir -p $path
    fi
    if [ ! -e ${path}/${nginx_package}.tar.gz ];then
        wget -P ${path}/ http://172.16.0.7/packages/${nginx_package}.tar.gz &>/dev/null
    fi
}
nginx_install(){
    id nginx &>/dev/null
    [ $? -ne 0 ]&&{
        useradd -r -s /sbin/nologin nginx &>/dev/null
    }
    yum install -y gcc* pcre-devel net-tools opensll lsof openssl-devel zlib-devel ncurses-devel cmake bison libxml2-devel libpng-devel &>/dev/null
    [ $? -ne 0 ]&&{
        echo "Installation dependency failed."
        exit 1
    }
    tar zxf /server/packages/nginx-1.17.10.tar.gz -C /server/packages/ &>/dev/null
    if [ $? -eq 0 ]
    then
        echo "Installing..."
        cd /server/packages/nginx-1.17.10
        ./configure --prefix=/usr/local/nginx \
        --user=nginx --group=nginx \
        --with-http_stub_status_module \
        --with-http_ssl_module &>/dev/null
        if [ $? -eq 0 ];then
            make &> /dev/null
            make install &> /dev/null
            [ $? -eq 0 ]||{
                echo "nginx install failed."
                exit 1
            }
        else
            echo -e "\033[31mconfigure falied.\033[0m"
        fi
        echo -e "\033[32mnginx install success.\033[0m"
    fi
}
#mysql_user=mysql
#mysql_package=mysql-5.5.62
#mysql_path=/usr/local/mysql
mysql_init(){
    if [ ! -e /server/packages/${mysql_package}.tar.gz ];then
        wget -P /server/packages/ http://172.16.0.7/packages/${mysql_package}.tar.gz &>/dev/null
    fi
    id ${mysql_user} &>/dev/null
    [ $? -ne 0 ]&&{
        useradd -r -s /sbin/nologin ${mysql_user} &>/dev/null
        if [ $? -eq 0 ];then
            echo "user: ${mysql_user} create success."
        else
            echo "user: ${mysql_user} create failed,please check it!"
            exit 1
        fi
    }
}
mysql_install(){
    tar zxf /server/packages/${mysql_package}.tar.gz -C /server/packages/ &>/dev/null
    if [ $? -eq 0 ];then
        echo "Installing..."
        cd /server/packages/${mysql_package}/
        cmake -DCMAKE_INSTALL_PREFIX=${mysql_path} \
        -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all \
        -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
        -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
        -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 \
        -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=${mysql_user} \
        -DMYSQL_TCP_PORT=3306 &>/dev/null
        if [ $? -eq 0 ];then
            make &>/dev/null
            make install &>/dev/null
            [ $? -ne 0 ]&&{
                echo -e "\033[31minstall failed,please check.\033[0m"
                exit 1
            }||{
               echo "install success."
               ln -s ${mysql_path}/bin/* /usr/local/bin/ &>/dev/null
               }
        fi
        cd ${mysql_path}/
        chown -R root .
        chown -R mysql data/
    fi
    echo "configure mysql..."
    \cp /server/packages/${mysql_package}/support-files/my-medium.cnf /etc/my.cnf &>/dev/null
    cd ${mysql_path}
    ./scripts/mysql_install_db --user=mysql &>/dev/null
    if [ $? -eq 0 ];then
        \cp ${mysql_path}/support-files/mysql.server /etc/init.d/mysqld &>/dev/null
        chmod +x /etc/init.d/mysqld
        chkconfig --add mysqld &>/dev/null
        chkconfig mysqld on &>/dev/null
        service mysqld start
        mysqladmin -uroot password 123456
        [ $? -eq 0 ]&&{
        echo "mysql configure success."
        }||{
        echo -e "\033[31mconfigure falied,please check it.\033[0m"
           }
    fi
}
#php_package="php-5.6.38"
php_init(){
    id www &>/dev/null
    if [ $? -ne 0 ];then
    groupadd www
    if [ ! -e ${path}/${php_package}.tar.gz ];then
        wget -P ${path}/ http://172.16.0.7/packages/${php_package}.tar.gz &>/dev/null
        if [ $? -ne 0 ];then
        echo "download php package failed."
            exit 1
        fi
    fi
    fi
}
php_install(){
    tar zxf ${path}/${php_package}.tar.gz -C ${path}/ &>/dev/null
    if [ $? -eq 0 ];then
        echo "Installing..."
        cd ${path}/${php_package}/
        ./configure \
        --prefix=/usr/local/php/ \
        --with-config-file-path=/usr/local/php/etc/ \
        --with-mysqli=/usr/local/mysql/bin/mysql_config \
        --enable-soap --enable-mbstring=all \
        --enable-sockets \
        --with-pdo-mysql=/usr/local/mysql \
        --with-gd --without-pear --enable-fpm &>/dev/null
        if [ $? -eq 0 ];then
            make &>/dev/null
            make install &>/dev/null
            [ $? -ne 0 ]&&{
                echo -e "\033[31minstall failed,please check.\033[0m"
                exit 1
            }||{
                   echo "install success."
           }
        else
            echo "configure failed"
            exit 1
        fi
    else
        exit 2
    fi
}
php_config(){
echo "configure php..."
\cp /server/packages/php-5.6.38/php.ini-production /usr/local/php/etc/php-ini
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
}
starts(){
    id www &>/dev/null
    [ $? -ne 0 ]&&{
        useradd -u 1111 www -g www  &>/dev/null
    }
    wget -O /usr/local/nginx/conf/nginx.conf http://172.16.0.7/profile/nginx.conf &>/dev/null
    wget -O /usr/local/php/etc/php-fpm.conf http://172.16.0.7/profile/php-fpm.conf &>/dev/null
    wget -O ${path}/nginx http://172.16.0.7:/start/nginx &>/dev/null
    \cp ${path}/nginx /etc/init.d/
    chkconfig --add nginx
    chkconfig nginx on
    if [ $? -eq 0 ];then
         \cp ${path}/nginx /usr/bin/
         chmod +x /usr/bin/nginx
         nginx start
         if [ $? -eq 0 ];then
             echo "nginx is started."
         fi
    fi
}
mon(){
    wget -O /usr/local/nginx/mon-nginx.sh http://172.16.0.7/scripts/mon-nginx.sh &>/dev/null
    echo "/bin/sh /usr/local/nginx/mon-nginx.sh" >>/etc/rc.local
    echo "*/5 * * * * /bin/sh /usr/local/nginx/mon-nginx.sh" >>/var/spool/cron/root
    chmod +x /etc/rc.d/rc.local
}
main(){
    nginx_init
    nginx_install
    mysql_init
    mysql_install
    php_init
    php_install
    php_config
    starts
    mon
}
main
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
NoSQL 应用服务中间件 PHP
LNMP一键安装
LNMP一键安装
|
3月前
|
关系型数据库 Linux 应用服务中间件
linux服务器下LNMP安装与配置方法
通过遵循上述步骤,你已经在Linux服务器上成功配置了LNMP环境。这只是初步设置,根据你的实际需求,可能需要进一步的调整与优化。记得经常检查每个组件的默认配置文件,并根据需要进行调整以优化性能和安全性。
74 0
|
6月前
|
关系型数据库 应用服务中间件 Linux
linux 下安装 LNMP 最简单的安装方法
linux 下安装 LNMP 最简单的安装方法
63 0
|
运维 Linux 数据安全/隐私保护
宝塔手把手教学-Linux面板安装LNMP & worldpress个人博客
宝塔手把手教学-Linux面板安装LNMP & worldpress个人博客
176 1
|
缓存 Linux PHP
17.17 LNMP安装php扩展模块
我们已经知道 LNMP 一键安装包默认只安装了最基本的 Nginx+Mysql+PHP 环境,并没有安装扩展功能模块,如果需要安装扩展模块该怎么办?
249 0
17.17 LNMP安装php扩展模块
|
关系型数据库 MySQL Linux
一台新的Linux服务器什么都没安装,可以直接使用docker搭建LNMP环境吗?底层原理是什么?
一台新的Linux服务器什么都没安装,可以直接使用docker搭建LNMP环境吗?底层原理是什么?
211 0
|
tengine NoSQL 关系型数据库
ezhttp一键安装配置lnmp lamp lnamp(nginx apache php mysql)环境
ezhttp一键安装配置lnmp lamp lnamp(nginx apache php mysql)环境
132 0
ezhttp一键安装配置lnmp lamp lnamp(nginx apache php mysql)环境
|
关系型数据库 MySQL 应用服务中间件
LNMP架构——源码编译安装
1、编译安装nginx服务 2、编译安装mysql服务 3、编译安装php解析环境
LNMP架构——源码编译安装
|
关系型数据库 Shell C++
debian12/ubuntu24/22/20 shell 脚本自动编译web安装网站环境 nginx1.26.0 php7/8 mariadb1011
1.ubuntu 搭建 nginx199 php-fpm7/8 mariadb10.11 c++ cgi-bin 2.mysql 重置 root 密码,创建 或删除 mysql 子库和子用户 3. ubuntu 搭建 c++ cgi-bin 4.自动生成 wwwconf 子站点 5. 建议选择 ubuntu20.04 版本
471 0
|
Ubuntu 关系型数据库 MySQL
17.16 LNMP一键安装
本节介绍如何利用下载好的 LNMP 一键安装包在Linux系统上安装 LNMP 环境。
300 0
17.16 LNMP一键安装