博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS_6.5安装Nginx+PHP+MySQL
阅读量:5150 次
发布时间:2019-06-13

本文共 13876 字,大约阅读时间需要 46 分钟。

#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATH# Check if user is rootif [ $(id -u) != "0" ]; then    echo "Error: You must be root to run this script, please use root to install lnmp"    exit 1ficlearecho "========================================================================="echo "LNMP V1.0 for CentOS/RadHat Linux VPS  Written by Licess"echo "========================================================================="echo "A tool to auto-compile & install Nginx+MySQL+PHP on Linux "echo ""echo "For more information please visit http://www.lnmp.org/"echo "========================================================================="cur_dir=$(pwd)#set mysql root password	echo "==========================="	mysqlrootpwd="root"	echo "Please input the root password of mysql:"	read -p "(Default password: root):" mysqlrootpwd	if [ "$mysqlrootpwd" = "" ]; then		mysqlrootpwd="root"	fi	echo "==========================="	echo "MySQL root password:$mysqlrootpwd"	echo "==========================="#do you want to install the InnoDB Storage Engine?echo "==========================="	installinnodb="n"	echo "Do you want to install the InnoDB Storage Engine?"	read -p "(Default no,if you want please input: y ,if not please press the enter button):" installinnodb	case "$installinnodb" in	y|Y|Yes|YES|yes|yES|yEs|YeS|yeS)	echo "You will install the InnoDB Storage Engine"	installinnodb="y"	;;	n|N|No|NO|no|nO)	echo "You will NOT install the InnoDB Storage Engine!"	installinnodb="n"	;;	*)	echo "INPUT error,The InnoDB Storage Engine will NOT install!"	installinnodb="n"	esac#which PHP Version do you want to install?echo "==========================="	isinstallphp53="n"	echo "Install PHP 5.3.17,Please input y"	echo "Install PHP 5.2.17,Please input n or press Enter"	read -p "(Please input y or n):" isinstallphp53	case "$isinstallphp53" in	y|Y|Yes|YES|yes|yES|yEs|YeS|yeS)	echo "You will install PHP 5.3.17"	isinstallphp53="y"	;;	n|N|No|NO|no|nO)	echo "You will install PHP 5.2.17"	isinstallphp53="n"	;;	*)	echo "INPUT error,You will install PHP 5.2.17"	isinstallphp53="n"	esac#which MySQL Version do you want to install?echo "==========================="	isinstallmysql55="n"	echo "Install MySQL 5.5.27,Please input y"	echo "Install MySQL 5.1.60,Please input n or press Enter"	read -p "(Please input y or n):" isinstallmysql55	case "$isinstallmysql55" in	y|Y|Yes|YES|yes|yES|yEs|YeS|yeS)	echo "You will install MySQL 5.5.27"	isinstallmysql55="y"	;;	n|N|No|NO|no|nO)	echo "You will install MySQL 5.1.60"	isinstallmysql55="n"	;;	*)	echo "INPUT error,You will install MySQL 5.1.60"	isinstallmysql55="n"	esac	get_char()	{	SAVEDSTTY=`stty -g`	stty -echo	stty cbreak	dd if=/dev/tty bs=1 count=1 2> /dev/null	stty -raw	stty echo	stty $SAVEDSTTY	}	echo ""	echo "Press any key to start...or Press Ctrl+c to cancel"	char=`get_char`function InitInstall(){	cat /etc/issue	uname -a	MemTotal=`free -m | grep Mem | awk '{print  $2}'`  	echo -e "\n Memory is: ${MemTotal} MB "	#Set timezone	rm -rf /etc/localtime	ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime	yum install -y ntp	ntpdate -u pool.ntp.org	date	rpm -qa|grep httpd	rpm -e httpd	rpm -qa|grep mysql	rpm -e mysql	rpm -qa|grep php	rpm -e php	yum -y remove httpd*	yum -y remove php*	yum -y remove mysql-server mysql	yum -y remove php-mysql	yum -y install yum-fastestmirror	yum -y remove httpd	#yum -y update	#Disable SeLinux	if [ -s /etc/selinux/config ]; then	sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config	fi	cp /etc/yum.conf /etc/yum.conf.lnmp	sed -i 's:exclude=.*:exclude=:g' /etc/yum.conf	for packages in patch make cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal nano fonts-chinese gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap;	do yum -y install $packages; done	mv -f /etc/yum.conf.lnmp /etc/yum.conf}function CheckAndDownloadFiles(){echo "============================check files=================================="if [ "$isinstallphp53" = "n" ]; then	if [ -s php-5.2.17.tar.gz ]; then	  echo "php-5.2.17.tar.gz [found]"	else	  echo "Error: php-5.2.17.tar.gz not found!!!download now......"	  wget -c http://soft.vpser.net/web/php/php-5.2.17.tar.gz	fi	if [ -s php-5.2.17-fpm-0.5.14.diff.gz ]; then	  echo "php-5.2.17-fpm-0.5.14.diff.gz [found]"	else	  echo "Error: php-5.2.17-fpm-0.5.14.diff.gz not found!!!download now......"	  wget -c http://soft.vpser.net/web/phpfpm/php-5.2.17-fpm-0.5.14.diff.gz	fielse	if [ -s php-5.3.17.tar.gz ]; then	  echo "php-5.3.17.tar.gz [found]"	else	  echo "Error: php-5.3.17.tar.gz not found!!!download now......"	  wget -c http://soft.vpser.net/web/php/php-5.3.17.tar.gz	fifiif [ -s memcache-3.0.6.tgz ]; then  echo "memcache-3.0.6.tgz [found]"  else  echo "Error: memcache-3.0.6.tgz not found!!!download now......"  wget -c http://soft.vpser.net/web/memcache/memcache-3.0.6.tgzfiif [ -s pcre-8.12.tar.gz ]; then  echo "pcre-8.12.tar.gz [found]"  else  echo "Error: pcre-8.12.tar.gz not found!!!download now......"  wget -c http://soft.vpser.net/web/pcre/pcre-8.12.tar.gzfiif [ -s nginx-1.2.7.tar.gz ]; then  echo "nginx-1.2.7.tar.gz [found]"  else  echo "Error: nginx-1.2.7.tar.gz not found!!!download now......"  wget -c http://soft.vpser.net/web/nginx/nginx-1.2.7.tar.gzfiif [ "$isinstallmysql55" = "n" ]; then	if [ -s mysql-5.1.60.tar.gz ]; then	  echo "mysql-5.1.60.tar.gz [found]"	  else	  echo "Error: mysql-5.1.60.tar.gz not found!!!download now......"	  wget -c http://soft.vpser.net/datebase/mysql/mysql-5.1.60.tar.gz	fielse	if [ -s mysql-5.5.28.tar.gz ]; then	  echo "mysql-5.5.28.tar.gz [found]"	  else	  echo "Error: mysql-5.5.28.tar.gz not found!!!download now......"	  wget -c http://soft.vpser.net/datebase/mysql/mysql-5.5.28.tar.gz	fifiif [ -s libiconv-1.14.tar.gz ]; then  echo "libiconv-1.14.tar.gz [found]"  else  echo "Error: libiconv-1.14.tar.gz not found!!!download now......"  wget -c http://soft.vpser.net/web/libiconv/libiconv-1.14.tar.gzfiif [ -s libmcrypt-2.5.8.tar.gz ]; then  echo "libmcrypt-2.5.8.tar.gz [found]"  else  echo "Error: libmcrypt-2.5.8.tar.gz not found!!!download now......"  wget -c  http://soft.vpser.net/web/libmcrypt/libmcrypt-2.5.8.tar.gzfiif [ -s mhash-0.9.9.9.tar.gz ]; then  echo "mhash-0.9.9.9.tar.gz [found]"  else  echo "Error: mhash-0.9.9.9.tar.gz not found!!!download now......"  wget -c http://soft.vpser.net/web/mhash/mhash-0.9.9.9.tar.gzfiif [ -s mcrypt-2.6.8.tar.gz ]; then  echo "mcrypt-2.6.8.tar.gz [found]"  else  echo "Error: mcrypt-2.6.8.tar.gz not found!!!download now......"  wget -c http://soft.vpser.net/web/mcrypt/mcrypt-2.6.8.tar.gzfiif [ -s phpmyadmin-latest.tar.gz ]; then  echo "phpmyadmin-latest.tar.gz [found]"  else  echo "Error: phpmyadmin-latest.tar.gz not found!!!download now......"  wget -c http://soft.vpser.net/datebase/phpmyadmin/phpmyadmin-latest.tar.gzfiif [ -s p.tar.gz ]; then  echo "p.tar.gz [found]"  else  echo "Error: p.tar.gz not found!!!download now......"  wget -c http://soft.vpser.net/prober/p.tar.gzfiif [ -s autoconf-2.13.tar.gz ]; then  echo "autoconf-2.13.tar.gz [found]"  else  echo "Error: autoconf-2.13.tar.gz not found!!!download now......"  wget -c http://soft.vpser.net/lib/autoconf/autoconf-2.13.tar.gzfiecho "============================check files=================================="}function InstallDependsAndOpt(){cd $cur_dirtar zxvf autoconf-2.13.tar.gzcd autoconf-2.13/./configure --prefix=/usr/local/autoconf-2.13make && make installcd ../tar zxvf libiconv-1.14.tar.gzcd libiconv-1.14/./configuremake && make installcd ../cd $cur_dirtar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8/./configuremake && make install/sbin/ldconfigcd libltdl/./configure --enable-ltdl-installmake && make installcd ../../cd $cur_dirtar zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9/./configuremake && make installcd ../ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.laln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.soln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.aln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.laln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.soln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1cd $cur_dirtar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8/./configuremake && make installcd ../if [ `getconf WORD_BIT` = '32' ] && [ `getconf LONG_BIT` = '64' ] ; then	ln -s /usr/lib64/libpng.* /usr/lib/	ln -s /usr/lib64/libjpeg.* /usr/lib/fiulimit -v unlimitedif [ ! `grep -l "/lib"    '/etc/ld.so.conf'` ]; then	echo "/lib" >> /etc/ld.so.conffiif [ ! `grep -l '/usr/lib'    '/etc/ld.so.conf'` ]; then	echo "/usr/lib" >> /etc/ld.so.conffiif [ -d "/usr/lib64" ] && [ ! `grep -l '/usr/lib64'    '/etc/ld.so.conf'` ]; then	echo "/usr/lib64" >> /etc/ld.so.conffiif [ ! `grep -l '/usr/local/lib'    '/etc/ld.so.conf'` ]; then	echo "/usr/local/lib" >> /etc/ld.so.conffildconfigcat >>/etc/security/limits.conf<
>/etc/sysctl.conf<
/etc/ld.so.conf.d/mysql.conf<
/tmp/mysql_sec_script<
/etc/ld.so.conf.d/mysql.conf<
/tmp/mysql_sec_script<
>/usr/local/php/etc/php.ini<
>/usr/local/php/etc/php.ini<
/usr/local/php/etc/php-fpm.conf<
/home/wwwroot/default/phpinfo.php<
eofecho "Copy PHP Prober..."cd $cur_dirtar zxvf p.tar.gzcp p.php /home/wwwroot/default/p.phpcp conf/index.html /home/wwwroot/default/index.htmlecho "============================Install PHPMyAdmin================================="tar zxf phpmyadmin-latest.tar.gzmv phpMyAdmin-3.4.8-all-languages /home/wwwroot/default/phpmyadmin/cp conf/config.inc.php /home/wwwroot/default/phpmyadmin/config.inc.phpsed -i 's/LNMPORG/LNMP.org'$RANDOM'VPSer.net/g' /home/wwwroot/default/phpmyadmin/config.inc.phpmkdir /home/wwwroot/default/phpmyadmin/upload/mkdir /home/wwwroot/default/phpmyadmin/save/chmod 755 -R /home/wwwroot/default/phpmyadmin/chown www:www -R /home/wwwroot/default/phpmyadmin/echo "============================phpMyAdmin install completed================================="}function AddAndStartup(){echo "============================add nginx and php-fpm on startup============================"echo "Download new nginx init.d file......"wget -c http://soft.vpser.net/lnmp/ext/init.d.nginxcp init.d.nginx /etc/init.d/nginxchmod +x /etc/init.d/nginxchkconfig --level 345 php-fpm onchkconfig --level 345 nginx onchkconfig --level 345 mysql onecho "===========================add nginx and php-fpm on startup completed===================="echo "Starting LNMP..."/etc/init.d/mysql start/etc/init.d/php-fpm start/etc/init.d/nginx start#add 80 port to iptablesif [ -s /sbin/iptables ]; then/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT/sbin/iptables-savefi}function CheckInstall(){echo "===================================== Check install ==================================="clearisnginx=""ismysql=""isphp=""echo "Checking..."if [ -s /usr/local/nginx ] && [ -s /usr/local/nginx/sbin/nginx ]; then echo "Nginx: OK" isnginx="ok" else echo "Error: /usr/local/nginx not found!!!Nginx install failed."fiif [ -s /usr/local/php/sbin/php-fpm ] && [ -s /usr/local/php/etc/php.ini ] && [ -s /usr/local/php/bin/php ]; then echo "PHP: OK" echo "PHP-FPM: OK" isphp="ok" else echo "Error: /usr/local/php not found!!!PHP install failed."fiif [ -s /usr/local/mysql ] && [ -s /usr/local/mysql/bin/mysql ]; then echo "MySQL: OK" ismysql="ok" else echo "Error: /usr/local/mysql not found!!!MySQL install failed."fiif [ "$isnginx" = "ok" ] && [ "$ismysql" = "ok" ] && [ "$isphp" = "ok" ]; thenecho "Install lnmp 1.0 completed! enjoy it."echo "========================================================================="echo "LNMP V1.0 for CentOS/RadHat Linux VPS Written by Licess "echo "========================================================================="echo ""echo "For more information please visit http://www.lnmp.org/"echo ""echo "lnmp status manage: /root/lnmp {start|stop|reload|restart|kill|status}"echo "default mysql root password:$mysqlrootpwd"echo "phpinfo : http://yourIP/phpinfo.php"echo "phpMyAdmin : http://yourIP/phpmyadmin/"echo "Prober : http://yourIP/p.php"echo "Add VirtualHost : /root/vhost.sh"echo ""echo "The path of some dirs:"echo "mysql dir: /usr/local/mysql"echo "php dir: /usr/local/php"echo "nginx dir: /usr/local/nginx"echo "web dir : /home/wwwroot/default"echo ""echo "========================================================================="/root/lnmp statusnetstat -ntlelseecho "Sorry,Failed to install LNMP!"echo "Please visit http://bbs.vpser.net/forum-25-1.html feedback errors and logs."echo "You can download /root/lnmp-install.log from your server,and upload lnmp-install.log to LNMP Forum."fi}InitInstall 2>&1 | tee /root/lnmp-install.logCheckAndDownloadFiles 2>&1 | tee -a /root/lnmp-install.logInstallDependsAndOpt 2>&1 | tee -a /root/lnmp-install.logif [ "$isinstallmysql55" = "n" ]; then InstallMySQL51 2>&1 | tee -a /root/lnmp-install.logelse InstallMySQL55 2>&1 | tee -a /root/lnmp-install.logfiif [ "$isinstallphp53" = "n" ]; then InstallPHP52 2>&1 | tee -a /root/lnmp-install.logelse InstallPHP53 2>&1 | tee -a /root/lnmp-install.logfiInstallNginx 2>&1 | tee -a /root/lnmp-install.logCreatPHPTools 2>&1 | tee -a /root/lnmp-install.logAddAndStartup 2>&1 | tee -a /root/lnmp-install.logCheckInstall 2>&1 | tee -a /root/lnmp-install.log

转载于:https://www.cnblogs.com/zenghansen/p/4702755.html

你可能感兴趣的文章
面试时被问到的问题
查看>>
注解小结
查看>>
list control控件的一些操作
查看>>
一月流水账
查看>>
判断字符串在字符串中
查看>>
HashPump用法
查看>>
cuda基础
查看>>
Vue安装准备工作
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
Xcode5和ObjC新特性
查看>>
LibSVM for Python 使用
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
CSS属性值currentColor
查看>>
java可重入锁reentrantlock
查看>>
浅谈卷积神经网络及matlab实现
查看>>
解决ajax请求cors跨域问题
查看>>
《收获,不止Oracle》pdf
查看>>
Real-Time Rendering 笔记
查看>>
如何理解HTML结构的语义化
查看>>