lnmp一键编译安装的脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lnmp一键编译安装的脚本相关的知识,希望对你有一定的参考价值。
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-develfreetype-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 ] || wgethttp://down1.chinaunix.net/distfiles/mysql-5.1.72.tar.gz check_ok [ -f 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/cpsupport-files/my-medium.cnf.sh /etc/my.cnf [ -f/etc/init.d/mysqld] || /bin /cp support-files/mysql.server.sh #sed -i ‘s/^port [email protected][email protected] /port= 3306/‘ /etc/my.cnf #sed -i ‘s#^[email protected][email protected]#socket=/tmp/mysql.sock#‘/etc/my.cnf #sed -i ‘s/^[email protected][email protected]/user=mysql/’ /etc/init.d/mysqld #sed -i ‘s# [email protected]@# basedir=/usr/local/mysql#’ /etc/init.d/mysqld #sed -i ‘s# [email protected]@# bindir=/usr/local/mysql/bin#’ /etc/init.d/mysqld #sed -i ‘s# [email protected]@#datadir=/usr/local/mysql/var#’ /etc/init.d/mysqld #sed -i ‘s#[email protected]@#sbindir=/usr/local/mysql/sbin#’ /etc/init.d/mysqld #sed -i ‘s#[email protected]@#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#@[email protected]# /bin/hostname# ‘ /etc/init.d/mysqld chmod755 /etc/init.d/mysqld service mysqld restart chkconfig --add mysqld chkconfig mysqld on 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 [-f libmcrypt-2.5.7 ] || tar -zvxflibmcrypt-2.5.7.tar.gz check_ok cd libmcrypt-2.5.7 ./configure --prefix=/usr/local/libmcrypt check_ok make && make install check_ok } ##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 [-f 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 } [ -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 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 ##function of install nginx. install_nginx() { echo "Install nginx version 2.2." cd /usr/local/src [ -f nginx-1.8.0.tar.gz ] || wgethttp://nginx.org/download/nginx-1.8.0.tar.gz [ -f 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` check_ok 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 } ##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
本文出自 “Steven一直不放弃” 博客,请务必保留此出处http://wsw26.blog.51cto.com/1442148/1741836
以上是关于lnmp一键编译安装的脚本的主要内容,如果未能解决你的问题,请参考以下文章