echo "It will install lnmp." sleep 1 ##check last command is OK or not. check_ok() { if [ $? != 0 ] then echo"Error, Check the error log." exit 1 fi } ##get the archive of the system,i686 or x86_64. ar=`arch` ##close seliux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config selinux_s=`getenforce` if [ $selinux_s == "Enforcing" -o $selinux_s == "enforcing" ] then setenforce 0 fi ##close iptables iptables-save > /etc/sysconfig/iptables_`date +%s` iptables -F service iptables save ##if the packge installed ,then omit. myum() { if ! rpm -qa|grep -q "^$1" then yum install -y$1 check_ok else echo $1already installed. fi } ##install some packges. for p in gcc gcc-c++ wget perl perl-devel libaiolibaio-devel pcre-devel zlib-devel openssl openssl-devel ncurses ncurses-devellibxml2 libxml2-devel bzip2 bzip2-devel libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel libtool-ltdl-devel do myum $p done ##install epel. if rpm -qa epel-release >/dev/null then rpm -e epel-release check_ok fi if ls /etc/yum.repos.d/epel-6.repo* >/dev/null 2>&1 then rm -f /etc/yum.repos.d/epel-6.repo* fi wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo ##function of install mysqld install_mysqld() { echo "Install mysql version 5.1.72" cd /usr/local/src [ -f mysql-5.1.72.tar.gz ] || wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72.tar.gz check_ok [ -d mysql-5.1.72] || tar -zvxf mysql-5.1.72.tar.gz [ -d /usr/local/mysql ] && /bin/mv/usr/local/mysql /usr/local/mysql_`date +%s` cd mysql-5.1.72 sed -i ’s/$RM "$cfgfile"/#$RM "$cfgfile"/’ configure ./configure --prefix=/usr/local/mysql --with-unix-socket-path=/tmp/mysql.sock--with-client-ldflags=-static 'CFLAGS=-g -O3' 'CXXFLAGS=-g -O3' --with-extra-charsets=gbk,utf8,ascii,big5,latin1,binary--enable-assembler --enable-local-infile --enable-profiling --enable-thread-safe-client check_ok make && make install check_ok if ! grep '^mysql:' /etc/passwd then useradd -M mysql -s /sbin/nologin check_ok fi if ! grep '^php-fpm' /etc/passwd then useradd -M php-fpm -s /sbin/nologin check_ok myum compat-libstdc++-33 [ -d/data/mysql ] && /bin/mv /data/mysql /data/mysql_`date +%s` mkdir-p /data/mysql chown-R mysql:mysql /data/mysql /usr/local/mysql/bin/mysql_install_db--user=mysql --datadir=/data/mysql check_ok cd /usr/local/src/mysql-5.1.72 [ -f/etc/my.cnf ] || /bin/cp support-files/my-medium.cnf. /etc/my.cnf [ -f/etc/init.d/mysqld] || /bin/cp support-files/mysql.server /etc/inid.d/mysqld #sed -i 's/^port =@MYSQL_TCP_PORT@ /port= 3306/' /etc/my.cnf #sed -i 's#^socket=@MYSQL_UNIX_ADDR@#socket=/tmp/mysql.sock#' /etc/my.cnf #sed -i 's/^user=@MYSQLD_USER@/user=mysql/’ /etc/init.d/mysqld #sed -i 's# basedir=@prefix@# basedir=/usr/local/mysql#’ /etc/init.d/mysqld #sed -i 's# bindir=@bindir@# bindir=/usr/local/mysql/bin#’ /etc/init.d/mysqld #sed -i 's# datadir=@localstatedir@#datadir=/usr/local/mysql/var#’ /etc/init.d/mysqld #sed -i 's#sbindir=@sbindir@#sbindir=/usr/local/mysql/sbin#’ /etc/init.d/mysqld #sed -i 's#libexecdir=@libexecdir@#libexecdir=/usr/local/mysql/libexec#’ /etc/init.d/mysqld sed -i 's#^basedir=#basedir=/usr/local/mysql#' /etc/init.d/mysqld sed -i 's#^datadir=#datadir=/data/mysql#' /etc/init.d/mysqld #sed-i 's#@HOSTNAME@# /bin/hostname# ' /etc/init.d/mysqld chmod755 /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on if ps aux |grep mysql then pkill mysql service mysqld start fi check_ok } install_mysqld ##function of install php_libmcrypt. install_php_libmcrypt(){ cd /usr/local/src [ -f libmcrypt-2.5.7.tar.gz ] || wgethttp://down1.chinaunix.net/distfiles/libmcrypt-2.5.7.tar.gz [-d libmcrypt-2.5.7 ] || tar -zxf libmcrypt-2.5.7.tar.gz check_ok cd libmcrypt-2.5.7 ./configure --prefix=/usr/local/libmcrypt check_ok make && make install check_ok } install_php_libmcrypt ##function of install php. install_php(){ cd /usr/local/src [ -f php-5.5.32.tar.gz ] || wget http://cn2.php.net/distributions/php-5.5.32.tar.gz yum install -y php-mcrypt libmcrypt libmcrypt-devel [-d php-5.5.32 ] || tar -zxf php-5.5.32.tar.gz [ -d /usr/local/php ] && /bin/mv /usr/local/php /usr/local/php_`date +%s` cd php-5.5.32 ./configure --prefix=/usr/local/php --enable-fpm--with-fpm-user=php-fpm --with-fpm-group=php-fpm--with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config--with-mysql-sock=/tmp/mysql.sock --with-libxml-dir=/usr/local --enable-xml --with-gd --with-jpeg-dir--with-png-dir --with-freetype-dir=/usr/include/freetype2/freetype --with-iconv-dir=/usr/local --with-zlib-dir--with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets--enable-exif --enable-bcmath --enable-shmop --enable-sysvsem --disable-ipv6 check_ok make && make install check_ok } install_php [ -f /usr/local/php/etc/php.ini ] || /bin/cpphp.ini-production /usr/local/php-fpm/etc/php.ini if /usr/local/php/bin/php -i |grep-iq 'date.timezone => no value' then sed -i '/;date.timezone =$/a\date.timezone ="Asia\/Chongqing"' /usr/local/php-fpm/etc/php.ini sed -i 's#listen = /tmp/php-fcgi.sock#listen = /tmp/php-fpm.sock#' /usr/local/php/etc/php-fpm.conf check_ok fi [ -f /usr/local/php/etc/php-fpm.conf ]|| curl http://www.apelearn.com/study_v2/.phpfpm_conf -o /usr/local/php/etc/php-fpm.conf [ -f/etc/init.d/phpfpm ] || /bin/cp sapi/fpm/init.d.php-fpm /etc/init.d/phpfpm chmod755 /etc/init.d/phpfpm chkconfig phpfpm on service phpfpm start check_ok ##function of check service is running or not, examplenginx, php-fpm. check_service() { if [ "$1" == "phpfpm" ] then s="php-fpm" else s=$1 fi n=`ps aux |grep "$s"|wc -l` if [ $n -gt 1 ] then echo "$1service is already started." else if [ -f/etc/init.d/$1 ] then /etc/init.d/$1 start check_ok else install_$1 fi fi } check_service ##function of install nginx. install_nginx() { echo "Install nginx version 2.2." cd /usr/local/src [ -f nginx-1.8.0.tar.gz ] || wget http://nginx.org/download/nginx-1.8.0.tar.gz [ -d nginx-1.8.0 ] || tar -zxf nginx-1.8.0.tar.gz [ -d /usr/local/nginx ] && /bin/mv /usr/local/nginx/ usr/local/nginx_`date +%s` cd nginx-1.8.0 myum pcre-devel ./configure --prefix=/usr/local/nginx check_ok make && makeinstall check_ok if [ -f /etc/init.d/nginx ] then /bin/mv/etc/init.d/nginx /etc/init.d/nginx_`date +%s` fi curl http://www.apelearn.com/study_v2/.nginx_init -o /etc/init.d/nginx check_ok chmod 755 /etc/init.d/nginx chkconfig --add nginx chkconfig nginx on curl http://www.apelearn.com/study_v2/.nginx_conf -o /usr/local/nginx/conf/nginx.conf check_ok service nginx start check_ok echo -e "<?php\n phpinfo();\n?>" > /usr/local/nginx/html/index.php check_ok } install_nginx ##function of install lnmp lnmp() { check_service mysqld check_service nginx check_service phpfpm echo "The lnmp done, Please use 'http://yourip/index.php' to access." } lnmp
lnmp一键编译安装的脚本
精选 原创
©著作权归作者所有:来自51CTO博客作者wsw26的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:zabbix server监控项报警提示:“Zabbix discoverer processes 75% busy”
下一篇:redis编译安装:make 的新错误--collect2: ld returned 1 exit status
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
NGINX一键安装脚本
一键安装NGINX
nginx c++ 下载安装 -
脚本一键源码编译安装LNMP
通过脚本一键源码编译安装及搭建LNMP环境,shell小白,共同交流进步
脚本 编译安装 一键源码 -
一键编译安装lnmp环境
一键编译安装lnmp脚本
lnnp 一键编译安装脚本 -
LNMP一键安装
目录系统需求安装步骤使用putty或类似的S...
mysql php nginx 安装包 服务器