Charlie 8 年之前
父节点
当前提交
070c680a0d
共有 1 个文件被更改,包括 0 次插入763 次删除
  1. 0 763
      webshell/sys-init.sh

+ 0 - 763
webshell/sys-init.sh

@@ -1,763 +0,0 @@
-#! /bin/bash -e
-#
-platform=`uname -i`
-if [ $platform != "x86_64" ];then
-	echo "\033[31mthis script is only for 64bit Operating System !\033[0m"
-	exit 1
-fi
-system=`cat /etc/redhat-release |awk '{print $1}'`
-if [ $system != "CentOS" ];then
-	echo "\033[31mthis script is only for CentOS 6 !\033[0m"
-	exit 1
-fi
-mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
-wget -c http://mirrors.163.com/.help/CentOS6-Base-163.repo -O /etc/yum.repos.d/CentOS-Base.repo
-
-DATE=`date +"%Y-%m-%d %H:%M:%S"`
-CPU_PROCESSOR=`grep 'processor' /proc/cpuinfo | sort -u | wc -l`
-HOSTNAME=`hostname -s`
-USER=`whoami`
-IPADDR=`ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g' |sed 's/Bcast:.*$//g'`
-CPU_AVERAGE=`cat /proc/loadavg | cut -c1-14`
-MemTotal=$[`grep MemTotal /proc/meminfo |awk '{print $2}'`/1024/1024+1]
-BASEPATH=$(cd `dirname $0`; pwd)
-DOWNURL="http://cdn.iyueni.com/download/package/"
-
-function system {
-	echo -e "\033[41;33m|-----------System Infomation-----------\033[0m"
-	echo -e "| DATE         :$DATE"
-	echo -e "| HOSTNAME     :$HOSTNAME"
-	echo -e "| USER         :$USER"
-	echo -e "| Root dir     :$BASEPATH"
-	echo -e "| IP           :$IPADDR"
-	echo -e "| CPU_AVERAGE  :$CPU_AVERAGE"
-	echo -e "| CPU_PROCESSOR:$CPU_PROCESSOR"
-	echo -e "| MemTotal     :${MemTotal}G"
-}
-
-function process {
-	echo -e "\033[41;33m|-----------Current Process-----------\033[0m"
-	for service in nginx php mysql
-	do
-		if [ `ps aux|grep $service |grep -v grep|wc -l` -gt 0 ];then
-			echo -e "\033[32m$service.......................[RUNNING]\033[0m"
-		else
-			echo -e "\033[31m$service.......................[NOT RUN]\033[0m"
-		fi
-	done
-}
-
-function configSysctl {
-	if [ -z "`grep '^net.ipv4.tcp_max_tw_buckets' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_max_tw_buckets = 10000" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_max_tw_buckets *=.*/net.ipv4.tcp_max_tw_buckets = 10000/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.ip_local_port_range' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.ip_local_port_range *=.*/net.ipv4.ip_local_port_range = 1024 65000/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_tw_recycle' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_tw_recycle *=.*/net.ipv4.tcp_tw_recycle = 1/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_tw_reuse' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_tw_reuse *=.*/net.ipv4.tcp_tw_reuse = 1/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_syncookies' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_syncookies *=.*/net.ipv4.tcp_syncookies = 1/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.core.somaxconn' /etc/sysctl.conf`" ];then
-		echo "net.core.somaxconn = 262144" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.core.somaxconn *=.*/net.core.somaxconn = 262144/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.core.netdev_max_backlog' /etc/sysctl.conf`" ];then
-		echo "net.core.netdev_max_backlog = 262144" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.core.netdev_max_backlog *=.*/net.core.netdev_max_backlog = 262144/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_max_orphans' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_max_orphans = 2621444" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_max_orphans *=.*/net.ipv4.tcp_max_orphans = 2621444/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_max_syn_backlog' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_max_syn_backlog = 262144" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_max_syn_backlog *=.*/net.ipv4.tcp_max_syn_backlog = 262144/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_timestamps' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_timestamps = 0" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_timestamps *=.*/net.ipv4.tcp_timestamps = 0/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_synack_retries' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_synack_retries = 1" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_synack_retries *=.*/net.ipv4.tcp_synack_retries = 1/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_syn_retries' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_syn_retries = 1" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_syn_retries *=.*/net.ipv4.tcp_syn_retries = 1/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_fin_timeout' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_fin_timeout = 1" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_fin_timeout *=.*/net.ipv4.tcp_fin_timeout = 1/g" /etc/sysctl.conf
-	fi
-	if [ -z "`grep '^net.ipv4.tcp_keepalive_time' /etc/sysctl.conf`" ];then
-		echo "net.ipv4.tcp_keepalive_time = 1200" >> /etc/sysctl.conf
-	else
-		sed -i "s/^net.ipv4.tcp_keepalive_time *=.*/net.ipv4.tcp_keepalive_time = 1200/g" /etc/sysctl.conf
-	fi
-	sysctl -p
-	echo -e "\033[31msysctl.conf to complete the optimization!\033[0m"
-}
-
-function configUlimit {
-	if [ -z "`grep '^ulimit -SHn' /etc/profile`" ];then
-		echo "ulimit -SHn 65535" >> /etc/profile
-	else
-		sed -i "s/^ulimit -SHn.*/ulimit -SHn 65535/g" /etc/profile
-	fi
-	if [ -z "`grep '^ulimit -SHu' /etc/profile`" ];then
-		echo "ulimit -SHu 256716" >> /etc/profile
-	else
-		sed -i "s/^ulimit -SHu.*/ulimit -SHu 256716/g" /etc/profile
-	fi
-	echo -e "\033[31m\"source /etc/profile\" command to take effect!\033[0m"
-}
-
-function installNginx {
-	echo -e "============================Install Nginx================================="
-	if [ ! -e "/usr/local/nginx" ];then
-		yum -y update && yum -y install gcc-c++ zlib-devel openssl--devel pcre-devel
-		groupadd www && /usr/sbin/useradd -g www www		
-		if [ ! -s "nginx-1.7.9.tar.gz" ];then
-			#http://nginx.org/download/nginx-1.7.9.tar.gz
-			wget -c ${DOWNURL}nginx-1.7.9.tar.gz
-		fi
-		tar zxvf nginx-1.7.9.tar.gz 
-		cd nginx-1.7.9
-		./configure
-		make && make install
-		if [ $CPU_PROCESSOR -ge 8 ];then
-			workerCA="00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000"
-			workerP=8
-		elif [ $CPU_PROCESSOR -ge 4 ] && [ $CPU_PROCESSOR -lt 8 ];then
-			workerCA="0001 0010 0100 1000"
-			workerP=4
-		else
-			workerCA="1"
-			workerP=1
-		fi
-		
-		sed -i '1,$d' /usr/local/nginx/conf/nginx.conf
-		echo -e "user www;\nworker_processes ${workerP};\nworker_cpu_affinity ${workerCA};\nerror_log logs/error.log;\npid logs/nginx.pid;\nworker_rlimit_nofile 102400;\nevents {\n\tuse epoll;\n\tworker_connections 10240;\n}\nhttp {\n\tinclude mime.types;\n\tdefault_type application/octet-stream;\n\tclient_header_buffer_size 64k;\n\tlarge_client_header_buffers 4 64k;\n\tclient_max_body_size 300m;\n\tserver_tokens off;\n\tsendfile on;\n\ttcp_nopush on;\n\tgzip on;\n\tgzip_disable 'MSIE [1-6].';\n\tkeepalive_timeout 60;\n\topen_file_cache max=102400 inactive=20s;\n\topen_file_cache_valid 30s;\n\topen_file_cache_min_uses 1;\n\tinclude vhost/*.conf;\n}" > /usr/local/nginx/conf/nginx.conf
-		mkdir -p /usr/local/nginx/conf/vhost		
-		/usr/local/nginx/sbin/nginx &
-		echo -e "\033[31mNginx complete installation!\033[0m"
-		cleanFiles nginx-1.7.9
-	else
-		echo -e "\033[31mNginx is already installed!\033[0m"
-	fi
-}
-
-function updateNginx {
-	if [ ! -s "nginx-1.9.0.tar.gz" ];then
-		#http://nginx.org/download/nginx-1.9.0.tar.gz
-		wget -c ${DOWNURL}nginx-1.9.0.tar.gz
-	fi
-	tar zxvf nginx-1.9.0.tar.gz
-	cd nginx-1.9.0
-	./configure
-	make
-	mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
-	cp -f objs/nginx /usr/local/nginx/sbin/ 
-	/usr/local/nginx/sbin/nginx -s reload
-	echo -e "\033[31mNginx complete upgrade!\033[0m"
-	cleanFiles nginx-1.9.0
-}
-
-function configVhost {
-	while : 
-	do 
-		read -p "Please input domain(example: www.test.com): " domain
-		if [ -z "`echo $domain | grep -Pix '^([a-z0-9]+[a-z0-9_]*[a-z0-9]+(\.)?)[a-z0-9]+[a-z0-9_]*(\.org\.cn|\.net|\.com|\.com\.cn)$'`" ]; then 
-			echo -e "\033[31minput error! \033[0m" 
-		else 
-			if [ ! -f "/usr/local/nginx/conf/vhost/${domain}.conf" ]; then
-				echo -e "\033[31mdomain=${domain}\033[0m" 
-			else
-				echo -e "\033[31m${domain} is exist!\033[0m"  
-			fi
-			break 
-		fi 
-	done
-	
-	while : 
-	do 
-		echo "Please input the directory for the domain:$domain :" 
-		read -p "(Default directory: /data/$domain): " vhostdir 
-		if [ "$vhostdir" = "" ]; then
-			vhostdir="/data/$domain"
-		fi
-		if [ -z "`echo $vhostdir | grep -Pix '(\/[\w\.]+)+'`" ]; then 
-			echo -e "\033[31minput error! \033[0m"			
-		else
-			if [ ! -e "$vhostdir" ]; then
-				mkdir -p $vhostdir
-				echo -e "\033[31mCreate Virtul Host directory ${vhostdir}\033[0m" 
-			else
-				echo -e "\033[31m${vhostdir} is exist!\033[0m"  
-			fi
-			chown -R $USER.$USER $vhostdir
-			break
-		fi
-	done
-	
-	echo -e "server {\n\tlisten 80 default_server;\n\tlocation / {\n\t\treturn 403;\n\t}\n}\nserver\n{\n\tlisten 80;\n\tserver_name ${domain};\n\tindex index.html index.php;\n\troot ${vhostdir};\n\tlocation / {\n\t}\n\tlocation ~ .*\.(php|php5)?$\n\t{\n\t\tfastcgi_pass 127.0.0.1:9000;\n\t\tfastcgi_send_timeout 3600s;\n\t\tfastcgi_connect_timeout 3600s;\n\t\tfastcgi_read_timeout 3600s;\n\t\tfastcgi_index  index.php;\n\t\tfastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;\n\t\tinclude fastcgi_params;\n\t}\n\tlocation ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$\n\t{\n\t\texpires 30d;\n\t\taccess_log off;\n\t}\n\tlocation ~ .*\.(js|css)?$\n\t{\n\t\texpires 12h;\n\t\taccess_log off;\n\t}\n}" > /usr/local/nginx/conf/vhost/$domain.conf
-	kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
-}
-
-function installPHP {	
-	if [ ! -e "/usr/local/php/bin/php" ];then		
-		yum -y install gcc gcc-c++ libxml2-devel.x86_64 autoconf libjpeg-devel freetype-devel.x86_64 zlib-devel.x86_64 glibc-devel.x86_64 glib2-devel.x86_64 libpng-devel.x86_64 libcurl-devel.x86_64
-		if [ ! -s "php-5.5.24.tar.gz" ];then
-			#http://cn2.php.net/distributions/php-5.5.24.tar.gz
-			wget -c ${DOWNURL}php-5.5.24.tar.gz
-		fi
-		tar zxvf php-5.5.24.tar.gz
-		cd php-5.5.24
-		./configure --prefix=/usr/local/php --with-curl --enable-mbstring --with-mysql=mysqlnd --with-mysqli --enable-opcache --with-pdo-mysql --with-iconv --with-gd --enable-fpm --with-jpeg-dir --with-png-dir --enable-zip --with-freetype-dir --with-gettext --enable-gd-native-ttf --without-pdo-sqlite --without-sqlite3
-		make && make install
-		cp -f php.ini-production /usr/local/php/lib/php.ini
-		sed -i '{
-		s/;date.timezone *=.*/date.timezone = PRC/g
-		s/upload_max_filesize *=.*/upload_max_filesize = 5M/g
-		s/memory_limit *=.*/memory_limit = 5120M/g
-		s/post_max_size *=.*/post_max_size = 100M/g
-		s/expose_php *=.*/expose_php = Off/g
-		s/; extension_dir = ".\/"/extension_dir = "\/usr\/local\/php\/lib\/php\/extensions\/no-debug-non-zts-20121212\/"/g			
-		}' /usr/local/php/lib/php.ini
-
-		cp -f /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
-		/bin/mkdir -p /usr/local/php/log/
-		sed -i '1,$d' /usr/local/php/etc/php-fpm.conf
-		echo -e "[global]\nerror_log = /usr/local/php/log/error.log\nlog_level = warning\n[www]\nuser = www\ngroup = www\nlisten = 127.0.0.1:9000\npm = dynamic\npm.max_children = 2000\npm.start_servers = 10\npm.min_spare_servers = 5\npm.max_spare_servers = 200\npm.max_requests = 12000\npm.process_idle_timeout = 10s\nrequest_terminate_timeout = 300s\nrequest_slowlog_timeout = 10s\nslowlog = /usr/local/php/log/slow.log" > /usr/local/php/etc/php-fpm.conf
-			
-		cp -f sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
-		chmod 700 /etc/init.d/php-fpm 
-		chkconfig --add php-fpm
-		chkconfig php-fpm on
-		php_version=`/usr/local/php/bin/php -v |awk 'NR==1 {print $2}'`
-		echo -e "\033[31mPHP${php_version} complete installation!\033[0m"
-		cleanFiles php-5.5.24
-	else
-		php_version=`/usr/local/php/bin/php -v |awk 'NR==1 {print $2}'`
-		echo -e "\033[31mPHP${php_version} is already installed!\033[0m"
-	fi
-}
-
-function updatePHP {
-	php_version=`/usr/local/php/bin/php -v |awk 'NR==1 {print $2}'`
-	if [ $php_version == "5.5.24" ];then
-		echo -e "\033[31mPHP${php_version} is the latest version!\033[0m"
-		return
-	fi
-	if [ -e "/usr/local/php/bin/php" ];then
-		/bin/rm -rf /usr/local/php/
-		yum -y install gcc gcc-c++ libxml2-devel.x86_64 autoconf libjpeg-devel freetype-devel.x86_64 zlib-devel.x86_64 glibc-devel.x86_64 glib2-devel.x86_64 libpng-devel.x86_64 libcurl-devel.x86_64
-		if [ ! -s "php-5.5.24.tar.gz" ];then
-			#http://cn2.php.net/distributions/php-5.5.24.tar.gz
-			wget -c ${DOWNURL}php-5.5.24.tar.gz
-		fi
-		tar zxvf php-5.5.24.tar.gz
-		cd php-5.5.24
-		./configure --prefix=/usr/local/php --with-curl --enable-mbstring --with-mysql=mysqlnd --with-mysqli --enable-opcache --with-pdo-mysql --with-iconv --with-gd --enable-fpm --with-jpeg-dir --with-png-dir --enable-zip --with-freetype-dir --with-gettext --enable-gd-native-ttf --without-pdo-sqlite --without-sqlite3
-		make && make install
-		cp -f php.ini-production /usr/local/php/lib/php.ini
-		sed -i '{
-		s/;date.timezone *=.*/date.timezone = PRC/g
-		s/upload_max_filesize *=.*/upload_max_filesize = 5M/g
-		s/memory_limit *=.*/memory_limit = 5120M/g
-		s/post_max_size *=.*/post_max_size = 100M/g
-		s/expose_php *=.*/expose_php = Off/g
-		s/; extension_dir = ".\/"/extension_dir = "\/usr\/local\/php\/lib\/php\/extensions\/no-debug-non-zts-20121212\/"/g			
-		}' /usr/local/php/lib/php.ini
-
-		cp -f /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
-		/bin/mkdir -p /usr/local/php/log/
-		sed -i '1,$d' /usr/local/php/etc/php-fpm.conf
-		echo -e "[global]\nerror_log = /usr/local/php/log/error.log\nlog_level = warning\n[www]\nuser = www\ngroup = www\nlisten = 127.0.0.1:9000\npm = dynamic\npm.max_children = 2000\npm.start_servers = 10\npm.min_spare_servers = 5\npm.max_spare_servers = 200\npm.max_requests = 12000\npm.process_idle_timeout = 10s\nrequest_terminate_timeout = 300s\nrequest_slowlog_timeout = 10s\nslowlog = /usr/local/php/log/slow.log" > /usr/local/php/etc/php-fpm.conf
-			
-		cp -f sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
-		chmod 700 /etc/init.d/php-fpm 
-		chkconfig --add php-fpm
-		chkconfig php-fpm on
-		php_version=`/usr/local/php/bin/php -v |awk 'NR==1 {print $2}'`
-		echo -e "\033[31mPHP${php_version} complete installation!\033[0m"
-		cleanFiles php-5.5.24
-	fi
-}
-
-function installPHPRedis {
-	if [ ! -s "redis-2.2.7.tgz" ];then
-		#http://pecl.php.net/get/redis-2.2.7.tgz
-		wget -c ${DOWNURL}redis-2.2.7.tgz
-	fi
-	tar zxvf redis-2.2.7.tgz
-	cd redis-2.2.7  
-	/usr/local/php/bin/phpize
-	./configure -with-php-config=/usr/local/php/bin/php-config
-	make && make install
-	if [ -z "`grep '^extension=redis.so' /usr/local/php/lib/php.ini`" ];then
-		sed -i '/;extension=php_xsl.dll/a\extension=redis.so' /usr/local/php/lib/php.ini
-	fi	
-	/sbin/service php-fpm restart
-	echo -e "\033[31mRedis extension complete installation!\033[0m"
-	cleanFiles redis-2.2.7
-}
-
-function installPHPMongo {
-	if [ ! -s "mongo-1.6.8.tgz" ];then
-		#http://pecl.php.net/get/mongo-1.6.8.tgz
-		wget -c ${DOWNURL}mongo-1.6.8.tgz
-	fi
-	tar zxvf mongo-1.6.8.tgz
-	cd mongo-1.6.8
-	/usr/local/php/bin/phpize
-	./configure -with-php-config=/usr/local/php/bin/php-config
-	make && make install
-	if [ -z "`grep '^extension=mongo.so' /usr/local/php/lib/php.ini`" ];then
-		sed -i '/;extension=php_xsl.dll/a\extension=mongo.so' /usr/local/php/lib/php.ini
-	fi	
-	/sbin/service php-fpm restart
-	echo -e "\033[31mMongo extension complete installation!\033[0m"
-	cleanFiles mongo-1.6.8
-}
-
-function installPHPSphinx {
-	yum -y update && yum -y install libtool autoconf automake mysql-devel libxml2-devel expat-devel
-	if [ ! -s "coreseek-4.1-beta.tar.gz" ];then
-		#http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz
-		wget -c ${DOWNURL}coreseek-4.1-beta.tar.gz
-	fi
-	tar zxvf coreseek-4.1-beta.tar.gz
-	cd coreseek-4.1-beta/csft-4.1/api/libsphinxclient
-	aclocal
-	libtoolize --force
-	automake --add-missing && autoconf && autoheader
-	./configure
-	make && make install
-	cleanFiles coreseek-4.1-beta
-	
-	wget -c ${DOWNURL}sphinx-1.3.2.tgz
-	tar zxvf sphinx-1.3.2.tgz
-	cd sphinx-1.3.2
-	/usr/local/php/bin/phpize
-	./configure -with-php-config=/usr/local/php/bin/php-config
-	make && make install
-	if [ -z "`grep '^extension=sphinx.so' /usr/local/php/lib/php.ini`" ];then
-		sed -i '/;extension=php_xsl.dll/a\extension=sphinx.so' /usr/local/php/lib/php.ini
-	fi	
-	/sbin/service php-fpm restart
-	echo -e "\033[31mSphinx extension complete installation!\033[0m"
-	cleanFiles sphinx-1.3.2
-}
-
-function installPHPXsplit {
-	if [ ! -s "xsplit-0.0.8.zip" ];then
-		#wget -O xsplit-0.0.8.zip -c https://github.com/chopins/php-xsplit/archive/master.zip
-		wget -c ${DOWNURL}xsplit-0.0.8.zip
-	fi
-	unzip xsplit-0.0.8.zip
-	cd php-xsplit-master
-	/usr/local/php/bin/phpize
-	./configure -with-php-config=/usr/local/php/bin/php-config
-	make && make install
-	if [ -z "`grep '^extension=xsplit.so' /usr/local/php/lib/php.ini`" ];then
-		sed -i '/;extension=php_xsl.dll/a\extension=xsplit.so' /usr/local/php/lib/php.ini
-	fi	
-	/sbin/service php-fpm restart
-	echo -e "\033[31mXsplit extension complete installation!\033[0m"
-	cleanFiles php-xsplit-master
-}
-
-function installPHPPhalcon {
-	if [ ! -s "phalcon-2.0.1.zip" ];then
-		#wget -O phalcon-2.0.1.zip -c https://github.com/phalcon/cphalcon/archive/master.zip
-		wget -c ${DOWNURL}phalcon-2.0.1.zip
-	fi
-	unzip phalcon-2.0.1.zip
-	cd cphalcon-master/build/64bits
-	/usr/local/php/bin/phpize
-	./configure -with-php-config=/usr/local/php/bin/php-config
-	make && make install
-	if [ -z "`grep '^extension=phalcon.so' /usr/local/php/lib/php.ini`" ];then
-		sed -i '/;extension=php_xsl.dll/a\extension=phalcon.so' /usr/local/php/lib/php.ini
-	fi	
-	/sbin/service php-fpm restart
-	echo -e "\033[31mPhalcon extension complete installation!\033[0m"
-	cleanFiles cphalcon-master
-}
-
-function installPHPGmagick {
-	if [ ! -s "giflib-5.1.0.tar.gz" ];then
-		#http://cznic.dl.sourceforge.net/project/giflib/giflib-5.1.0.tar.gz
-		wget -c ${DOWNURL}giflib-5.1.0.tar.gz
-	fi
-	tar zxvf giflib-5.1.0.tar.gz
-	cd giflib-5.1.0
-	./configure --prefix=/usr/local/giflib
-	make && make install
-	cleanFiles giflib-5.1.0
-
-	if [ ! -s "libwebp-0.4.0.tar.gz" ];then
-		#http://webp.googlecode.com/files/libwebp-0.4.0.tar.gz
-		wget -c ${DOWNURL}libwebp-0.4.0.tar.gz
-	fi
-	tar zxvf libwebp-0.4.0.tar.gz
-	cd libwebp-0.4.0
-	./configure --prefix=/usr/local/libwep --with-gifincludedir=/usr/local/giflib/include/ --with-giflibdir=/usr/local/giflib/lib/
-	make && make install
-	cleanFiles libwebp-0.4.0
-	
-	if [ ! -s "GraphicsMagick-1.3.21.tar.gz" ];then
-		wget -c http://jaist.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.21/GraphicsMagick-1.3.21.tar.gz
-	fi
-	tar zxvf GraphicsMagick-1.3.21.tar.gz
-	cd GraphicsMagick-1.3.21/
-	./configure --prefix=/usr/local/gmagick --enable-shared CPPFLAGS='-I/usr/local/libwep/include' LDFLAGS='-L/usr/local/libwep/lib'
-	make && make install
-	cp -f /usr/local/gmagick/bin/gm /usr/bin/
-	cleanFiles GraphicsMagick-1.3.21
-
-	if [ ! -s "gmagick-1.1.7RC3.tgz" ];then
-		wget -c http://pecl.php.net/get/gmagick-1.1.7RC3.tgz
-	fi	
-	tar zxvf gmagick-1.1.7RC3.tgz
-	cd gmagick-1.1.7RC3
-	/usr/local/php/bin/phpize
-	./configure --with-php-config=/usr/local/php/bin/php-config --with-gmagick=/usr/local/gmagick
-	make && make install	
-	if [ -z "`grep '^extension=gmagick.so' /usr/local/php/lib/php.ini`" ];then
-		sed -i '/;extension=php_xsl.dll/a\extension=gmagick.so' /usr/local/php/lib/php.ini
-	fi
-	/sbin/service php-fpm restart
-	echo -e "\033[31mGmagick extension complete installation!\033[0m"
-	cleanFiles gmagick-1.1.7RC3
-}
-
-function installPHPSSH2 {
-	yum -y install openssl openssl-devel
-	if [ ! -s "libssh2-1.4.3.tar.gz" ];then
-		wget -c http://7xorsj.dl1.z0.glb.clouddn.com/libssh2-1.4.3.tar.gz
-	fi
-	tar zxvf libssh2-1.4.3.tar.gz
-	cd libssh2-1.4.3
-	./configure --prefix=/usr/local/libssh2
-	make && make install
-	cleanFiles libssh2-1.4.3
-	
-	if [ ! -s "ssh2-0.12.tgz" ];then
-		wget -c http://pecl.php.net/get/ssh2-0.12.tgz
-	fi
-	tar zxvf ssh2-0.12.tgz 
-	cd ssh2-0.12
-	/usr/local/php/bin/phpize 
-	./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2  --with-php-config=/usr/local/php/bin/php-config
-	make && make install
-	if [ -z "`grep '^extension=ssh2.so' /usr/local/php/lib/php.ini`" ];then
-		sed -i '/;extension=php_xsl.dll/a\extension=ssh2.so' /usr/local/php/lib/php.ini
-	fi	
-	/sbin/service php-fpm restart
-	echo -e "\033[31mSSH2 extension complete installation!\033[0m"
-	cleanFiles ssh2-0.12
-}
-
-function installMysql {
-	yum -y update && yum -y downgrade ncurses* && yum -y install make gcc-c++ cmake bison-devel ncurses-devel
-	if [ ! -e "/usr/local/mysql" ];then
-		if [ ! -s "mysql-5.6.20.tar.gz" ];then
-			wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.20.tar.gz
-		fi
-		tar zxvf mysql-5.6.20.tar.gz
-		cd mysql-5.6.20
-		
-		read -p "Please input the root password of mysql:" mysqlrootpwd
-		if [ "$mysqlrootpwd" = "" ]; then
-			mysqlrootpwd="root"
-		fi
-		
-		while : 
-		do 
-			read -p "Please input the directory for the mysql data(example: /data/mysql): " mysqldatadir
-			if [ "$mysqldatadir" = "" ]; then
-				mysqldatadir="/data/mysql"
-			fi
-			if [ -z "`echo $mysqldatadir | grep -Pix '(\/[\w\.]+)+'`" ]; then 
-				echo -e "\033[31minput error! \033[0m"			
-			else
-				if [ ! -e "$mysqldatadir" ]; then
-					mkdir -p $mysqldatadir
-					echo -e "\033[31mCreate directory ${mysqldatadir}\033[0m" 
-				else
-					echo -e "\033[31m${mysqldatadir} is exist!\033[0m"  
-				fi
-				break
-			fi
-		done
-		
-		cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=$mysqldatadir -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
-		make && make install
-		groupadd mysql && useradd -g mysql mysql
-		chown -R mysql:mysql /usr/local/mysql
-		cd /usr/local/mysql
-		scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=$mysqldatadir --user=mysql
-		rm -rf /etc/my.cnf
-		mv /usr/local/mysql/my.cnf /etc/
-		sed -i '1,$d' /etc/my.cnf
-		ibps=`echo "$mem * 0.8"|bc`
-		ibps=${ibps%.*}
-		echo -e "[client]\nport=3306\nsocket=/tmp/mysql.sock\n[mysqld]datadir=${mysqldatadir}\nsocket=/tmp/mysql.sock\nport=3306\nuser=mysql\nsql_mode=\"NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"\nlong_query_time=1\nslow_query_log=1\nslow_query_log_file=slow.log\nkey_buffer_size=1024M\nmax_allowed_packet=512M\ntable_open_cache=2048\nsort_buffer_size=64M\nmax_length_for_sort_data=8096\nread_buffer_size=64M\nread_rnd_buffer_size=64M\nmyisam_sort_buffer_size=512M\nthread_cache_size=256\nquery_cache_size=512M\nquery_cache_type=1\nquery_cache_limit=2M\ntmp_table_size=4096M\nthread_concurrency=16\nmyisam-recover=BACKUP,FORCE\nmax_connections=3000\nskip-name-resolve\nback_log=384\nmyisam_max_sort_file_size=10G\nmax_allowed_packet=256M\nwait_timeout=3600\nlog-bin=mysql-bin\nbinlog_format=mixed\nserver-id=811\nexpire_logs_days=0\ninnodb_buffer_pool_size=${ibps}G\ninnodb_flush_log_at_trx_commit=0\n[mysqld_safe]\nlog-error=mysql.log" > /etc/my.cnf
-		cp -f support-files/mysql.server /etc/init.d/mysql
-		chkconfig mysql on
-		service mysql start
-		/usr/local/mysql/bin/mysql -uroot -e "SET PASSWORD = PASSWORD(\"${mysqlrootpwd}\");GRANT ALL PRIVILEGES ON *.* TO root@\"%\" IDENTIFIED BY \"${mysqlrootpwd}\" WITH GRANT OPTION;"
-		echo -e "\033[31mMysql complete installation!\033[0m"
-		cleanFiles mysql-5.6.20
-	else
-		echo -e "\033[31mMysql is already installed!\033[0m"
-	fi
-}
-
-function toContinue {
-	echo -e "\033[41;33mPress any key to continue...\033[0m"
-	read -n1
-	clear
-}
-
-function cleanFiles {
-	if [ $# -eq 1 ] && [ -e "${BASEPATH}/$1" ];then
-		/bin/rm -rf ${BASEPATH}/$1 &
-	fi
-	cd ${BASEPATH}
-}
-
-function startService {
-	/usr/local/nginx/sbin/nginx &
-	/sbin/service php-fpm start
-	/sbin/service mysql start
-}
-
-function stopService {
-	kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`
-	/sbin/service php-fpm stop
-	/sbin/service mysql stop
-}
-
-function restartService {
-	kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
-	/sbin/service php-fpm restart
-	/sbin/service mysql restart
-}
-
-function menu {
-while true
-do
-	system
-	process
-	echo -e "\033[41;33m|-----------Menu-----------\033[0m"
-	echo -e "(1) Configure \033[1mSystem Kernel\033[0m"
-	echo -e "(2) Configure \033[1mNGINX\033[0m Service"
-	echo -e "(3) Configure \033[1mPHP\033[0m Service"
-	echo -e "(4) Configure \033[1mMYSQL\033[0m Service"
-	echo -e "(0) Quit"
-	read -p "Please enter your choice[0-4]: " input
-	case $input in
-	1)
-		clear
-		while true
-		do
-			system
-			echo -e "\033[41;33m|-----------Configure System Kernel-----------\033[0m"
-			echo -e "(1) Configure /etc/sysctl.conf"
-			echo -e "(2) Configure ulimit"
-			echo -e "(0) Back"
-			read -p "Please enter your choice[0-2]: " input1
-			case $input1 in
-			1)
-				configSysctl
-				toContinue
-				;;
-			2)
-				configUlimit
-				exit 0
-				;;
-			0) 
-				clear 
-				break
-				;;
-			*)
-				echo -e "\033[31mPlease Enter Right Choice!\033[0m"
-				toContinue
-				;;
-			esac			
-		done
-		;;
-	2)
-		clear
-		while true
-		do
-			system
-			echo -e "\033[41;33m|-----------Configure NGINX Service-----------\033[0m"
-			echo -e "(1) Install the latest version nginx"
-			echo -e "(2) Seamless upgrade nginx"
-			echo -e "(3) Configure the virtual host"
-			echo -e "(0) Back"
-			read -p "Please enter your choice[0-3]: " input2
-			case $input2 in
-			1)
-				installNginx
-				toContinue
-				;;
-			2)
-				updateNginx
-				toContinue
-				;;
-			3)
-				configVhost
-				toContinue
-				;;
-			0) 
-				clear 
-				break
-				;;
-			*)
-				echo -e "\033[31mPlease Enter Right Choice!\033[0m"
-				toContinue
-				;;
-			esac			
-		done
-		;;
-	3)
-		clear		
-		while true
-		do
-			system
-			echo -e "\033[41;33m|-----------Configure PHP Service-----------\033[0m"
-			echo -e "(1) Install the Old Stable \033[1mPHP 5.5.24\033[0m"
-			echo -e "(2) Upgrade to Old Stable \033[1mPHP 5.5.24\033[0m"
-			echo -e "(3) Install the latest \033[1mredis\033[0m extension of PHP"
-			echo -e "(4) Install the latest \033[1mmongoDB\033[0m extension of PHP"
-			echo -e "(5) Install the latest \033[1msphinx\033[0m extension of PHP"
-			echo -e "(6) Install the latest \033[1mxsplit\033[0m extension of PHP"
-			echo -e "(7) Install the latest \033[1mphalcon\033[0m extension of PHP"
-			echo -e "(8) Install the latest \033[1mgmagick\033[0m extension of PHP"
-			echo -e "(9) Install the latest \033[1mssh2\033[0m extension of PHP"			
-			echo -e "(0) Back"
-			read -p "Please enter your choice[0-9]: " input3
-			case $input3 in
-			1)
-				installPHP
-				toContinue
-				;;
-			2)
-				updatePHP
-				toContinue
-				;;
-			3)
-				installPHPRedis
-				toContinue
-				;;
-			4)
-				installPHPMongo
-				toContinue
-				;;
-			5)
-				installPHPSphinx
-				toContinue
-				;;
-			6)
-				installPHPXsplit
-				toContinue
-				;;
-			7)
-				installPHPPhalcon
-				toContinue
-				;;
-			8)
-				installPHPGmagick
-				toContinue
-				;;
-			9)
-				installPHPSSH2
-				toContinue
-				;;
-			0) 
-				clear 
-				break
-				;;
-			*)
-				echo -e "\033[31mPlease Enter Right Choice!\033[0m"
-				toContinue
-				;;
-			esac			
-		done
-		;;
-	4)
-		clear
-		while true
-		do
-			system
-			echo -e "\033[41;33m|-----------Configure MYSQL Service-----------\033[0m"
-			echo -e "(1) Install the latest version MYSQL"
-			echo -e "(0) Back"
-			read -p "Please enter your choice[0-1]: " input4
-			case $input4 in
-			1)
-				installMysql
-				toContinue
-				;;
-			0) 
-				clear 
-				break
-				;;
-			*)
-				echo -e "\033[31mPlease Enter Right Choice!\033[0m"
-				toContinue
-				;;
-			esac			
-		done
-		;;
-	0) 
-		clear 
-		break
-		;;
-	*)
-		echo -e "\033[31mPlease Enter Right Choice!\033[0m"	
-		toContinue
-		;;
-	esac
-done
-}
-#start Judge script parameters
-if [ "$1" != "" ];then
-    arr=($1)
-	for i in ${arr[@]}
-	do
-		$i >> install.log
-	done
-else
-    clear
-	menu
-fi