设为首页 收藏本站
查看: 1205|回复: 0

脚本一键源码编译安装LNMP

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-2-10 15:58:38 | 显示全部楼层 |阅读模式
script]# cat LNMP.sh
#!/bin/bash
echo "Compile environment installation"
source $1
envinstall() {
    cd /opt
        echo "--------Compile environment install Starting--------"
    yum -y groupinstall "Development Tools" "Server Platform Development"
    yum -y install pcre-devel openssl-devel zlib-devel cmake ncurses-devel libxml2-devel bzip2-devel wget
    wget ftp://mcrypt.hellug.gr/pub/crypt ... mcrypt-2.5.7.tar.gz
    tar -xf libmcrypt-2.5.7.tar.gz
    cd libmcrypt-2.5.7
        ./configure
     make && make install
}

nginxinstall() {
        id nginx &>/dev/null
        if [ $? -gt 0 ];then
        useradd -r -M nginx
        fi
        cd /opt
        echo "--------Nginx Start install--------"
        wget http://nginx.org/download/nginx-1.6.1.tar.gz
        tar -xf nginx-1.6.1.tar.gz
        cd nginx-1.6.1
    ./configure --prefix=$nginx_dir --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx  --error-log
-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-debug    make && make install
        cp $package/nginx.start /etc/rc.d/init.d/nginx
        chmod +x /etc/rc.d/init.d/nginx
        chkconfig --add nginx
        chkconfig nginx on
        echo "export PATH=$nginx_dir/sbin:$PATH">/etc/profile.d/nginx
        source /etc/profile.d/nginx
    mv /etc/nginx/nginx.conf{,.bak}
    cp -f $package/nginx.conf /etc/nginx/nginx.conf
}

mysqlinstall() {
    id mysql &>/dev/null
    if [ $? -gt 0 ];then
    groupadd mysql
    useradd -s /sbin/nologin -g mysql -M mysql
    fi
    if [ ! -d $mydata_dir ];then
    mkdir -p $mydata_dir
    fi
    cd /opt
    echo "--------Mysql Start install--------"
    cp $package/mariadb-10.0.13.tar.gz /opt
    tar -xf mariadb-10.0.13.tar.gz
    cd mariadb-10.0.13
    cmake . -DCMAKE_INSTALL_PREFIX=$mysql_dir -DMYSQL_DATADIR=$mydat
a_dir  -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAG
E_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci    make && make install    cd $mysql_dir
    scripts/mysql_install_db --user=mysql --datadir=$mydata_dir
    cp support-files/mysql.server /etc/init.d/mysqld
    chkconfig --add mysqld
    chkconfig mysqld on
    #cp $package/nginx.start /etc/rc.d/init.d/nginx
    chmod +x /etc/rc.d/init.d/nginx
    echo "export PATH=$mysql_dir/bin:$PATH">/etc/profile.d/mysql
    source /etc/profile.d/mysql
    ln -sv /usr/local/mysql/include/ /usr/local/include/mysql
    echo "/usr/local/mysql/lib">/etc/ld.so.conf.d/mysql.conf
    ldconfig -v
    mv /etc/my.cnf{,.bak}
    cp -f $package/my.cnf /etc/my.cnf
    service mysqld start
    mysqladmin -u root -p password "oracleadmin"
}

phpinstall() {
    cd /opt
    echo "--------php Start install--------"
    cp $package/php-5.4.26.tar.bz2 /opt
    tar -xf php-5.4.26.tar.bz2
    cd php-5.4.26
    ./configure --prefix=$php_dir --with-mysql=mysqlnd --with-openss
l --with-mysqli=mysqlnd --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-l
ibxml-dir=/usr --enable-xml  --enable-sockets --enable-fpm --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2    make && make install    cp php.ini-production /etc/php.ini
    cp $php_dir/etc/php-fpm.conf.default  $php_dir/etc/php-fpm.conf
    cp /root/php-5.4.26/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php
-fpm    chmod +x /etc/rc.d/init.d/php-fpm
    chkconfig --add php-fpm
    chkconfig php-fpm on
    #cp $package/nginx.start /etc/rc.d/init.d/nginx
    echo "export PATH=$php_dir/bin:$PATH">/etc/profile.d/php
    source /etc/profile.d/php
    cat>/usr/local/php5/etc/php-fpm.conf <<EOF
         pid = /usr/local/php5/var/run/php-fpm.pid
    EOF
}


envinstall
if [ $? -eq 0 ];then
    echo "Compile environment install is finished Sucess!"
else
    echo "Compile enviroment install Failed!"
    exit 1
fi

nginxinstall
service nginx start
if [$? -eq 0 ];then
        echo "nginx install is finished Sucess!"
else
        echo "nginx install Failed!"
        exit 1
fi

mysqlinstall
service mysqld start
if [ $? -eq 0 ];then
    echo "mysql install is finished Sucess!"
else
    echo "mysql install Failed!"
    exit 1
fi

phpinstall
service php-fpm start
if [ $? -eq 0 ];then
    echo "php install is finished Sucess!"
else
    echo "php install Failed!"
    exit 1
fi


[iyunv@localhost script]# ls
dir.conf  LNMP.sh  package     dir.conf为参数文件     package为资源文件和配置文件
[iyunv@localhost script]# cat dir.conf
package=/root/script/package
nginx_dir=/usr/local/nginx
mysql_dir=/usr/local/mysql
mydata_dir=/data/mydata
php_dir=/usr/local/php5
[iyunv@localhost script]# ls -l package/
总用量 62920
-rw-r--r-- 1 root root 51333762 2月   9 12:30 mariadb-10.0.13.tar.gz
-rw-r--r-- 1 root root      239 2月   9 14:06 my.cnf
-rw-r--r-- 1 root root   803301 2月   9 12:30 nginx-1.6.1.tar.gz
-rw-r--r-- 1 root root     2584 2月   9 13:53 nginx.conf
-rw-r--r-- 1 root root     2818 2月   9 10:41 nginx.start
-rw-r--r-- 1 root root     2818 2月   9 10:41 nginx.start.bak
-rw-r--r-- 1 root root 12270535 2月   9 12:30 php-5.4.26.tar.bz2




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-340327-1-1.html 上篇帖子: CentOS7安装LNMP+Mongodb环境 下篇帖子: LAMP网站架构的基础构思及搭建解析——CentOS7.0
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表