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

[经验分享] 一键安装LNMP(Nginx+mysql+php)

[复制链接]

尚未签到

发表于 2018-9-29 08:10:24 | 显示全部楼层 |阅读模式
  昨天在网上看到个一键安装LNMP的脚本,感觉还行,就是没有更新新的php5.3.3,他在这里进行了打补丁的方式对fastcgi进行了支持,由于最近太忙了,本来想改进一下这个脚本的,现在只能想想了。等不忙了,再进行修改。里面具体的参数及安装位置,请直接查看脚本内容。
  Nginx到0.7.65、MySQL到5.1.44、php到5.2.10(打补丁)
  安装软件:

  • Nginx
  • MySQL
  • PHP
  • PHPMyAdmin
  • Zend Optimizer
  • eAccelerator
  • Nginx-RRD
  • vsFTPD
  #!/bin/bash
  PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  export PATH
  # Check if user is root
  if [ $(id -u) != "0" ]; then
  echo "Error: You must be root to run this script, please use root to install lnmp"
  exit 1
  fi
  clear
  echo "========================================================================="
  echo "LNMP V0.4 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)
  if [ "$1" != "--help" ]; then
  #set main domain name
  domain="www.lnmp.org"
  echo "Please input domain:"
  read -p "(Default domain: www.lnmp.org):" domain
  if [ "$domain" = "" ]; then
  domain="www.lnmp.org"
  fi
  echo "==========================="
  echo domain="$domain"
  echo "==========================="
  #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 mysqlrootpwd="$mysqlrootpwd"
  echo "==========================="
  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..."
  char=`get_char`
  rpm -qa|grep  httpd
  rpm -e httpd
  rpm -qa|grep mysql
  rpm -e mysql
  rpm -qa|grep php
  rpm -e php
  yum -y install yum-fastestmirror
  yum -y remove httpd
  yum -y update
  yum -y install patch make gcc gcc-c++ gcc-g77 flex bison file
  yum -y install libtool libtool-libs autoconf kernel-devel
  yum -y install libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel
  yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel
  yum -y install glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel
  yum -y install ncurses ncurses-devel curl curl-devel e2fsprogs
  yum -y install e2fsprogs-devel krb5 krb5-devel libidn libidn-devel
  yum -y install openssl openssl-devel vim-minimal nano sendmail
  yum -y install fonts-chinese gettext gettext-devel
  yum -y install ncurses-devel
  yum -y install gmp-devel pspell-devel
  yum -y install unzip
  echo "============================check files=================================="
  if [ -s php-5.2.10.tar.gz ]; then
  echo "php-5.2.10.tar.gz [found]"
  else
  echo "Error: php-5.2.10.tar.gz not found!!!download now......"
  wget -c http://soft.vpser.net/web/php/php-5.2.10.tar.gz
  fi
  if [ -s php-5.2.10-fpm-0.5.13.diff.gz ]; then
  echo "php-5.2.10-fpm-0.5.13.diff.gz [found]"
  else
  echo "Error: php-5.2.10-fpm-0.5.13.diff.gz not found!!!download now......"
  wget -c http://soft.vpser.net/web/phpfpm/php-5.2.10-fpm-0.5.13.diff.gz
  fi
  if [ -s PDO_MYSQL-1.0.2.tgz ]; then
  echo "PDO_MYSQL-1.0.2.tgz [found]"
  else
  echo "Error: PDO_MYSQL-1.0.2.tgz not found!!!download now......"
  wget -c http://soft.vpser.net/web/pdo/PDO_MYSQL-1.0.2.tgz
  fi
  if [ -s memcache-2.2.5.tgz ]; then
  echo "memcache-2.2.5.tgz [found]"
  else
  echo "Error: memcache-2.2.5.tgz not found!!!download now......"
  wget -c http://soft.vpser.net/web/memcache/memcache-2.2.5.tgz
  fi
  if [ -s pcre-7.9.tar.gz ]; then
  echo "pcre-7.9.tar.gz [found]"
  else
  echo "Error: pcre-7.9.tar.gz not found!!!download now......"
  wget -c http://soft.vpser.net/web/pcre/pcre-7.9.tar.gz
  fi
  if [ -s nginx-0.7.65.tar.gz ]; then
  echo "nginx-0.7.65.tar.gz [found]"
  else
  echo "Error: nginx-0.7.65.tar.gz not found!!!download now......"
  wget -c http://soft.vpser.net/web/nginx/nginx-0.7.65.tar.gz
  fi
  if [ -s mysql-5.1.44.tar.gz ]; then
  echo "mysql-5.1.44.tar.gz [found]"
  else
  echo "Error: mysql-5.1.44.tar.gz not found!!!download now......"
  wget -c http://soft.vpser.net/datebase/mysql/mysql-5.1.44.tar.gz
  fi
  if [ -s libiconv-1.13.tar.gz ]; then
  echo "libiconv-1.13.tar.gz [found]"
  else
  echo "Error: libiconv-1.13.tar.gz not found!!!download now......"
  wget -c http://soft.vpser.net/web/libiconv/libiconv-1.13.tar.gz
  fi
  if [ -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.gz
  fi
  if [ -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.gz
  fi
  if [ -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.gz
  fi
  if [ -s phpmyadmin.tar.gz ]; then
  echo "phpmyadmin.tar.gz [found]"
  else
  echo "Error: phpmyadmin.tar.gz not found!!!download now......"
  wget -c http://soft.vpser.net/datebase/phpmyadmin/phpmyadmin.tar.gz
  fi
  if [ -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.gz
  fi
  if [ -s suhosin-patch-5.2.10-0.9.7.patch.gz ]; then
  echo "suhosin-patch-5.2.10-0.9.7.patch.gz [found]"
  else
  echo "Error: suhosin-patch-5.2.10-0.9.7.patch.gz not found!!!download now......"
  wget -c http://soft.vpser.net/web/suhosin/suhosin-patch-5.2.10-0.9.7.patch.gz
  fi
  echo "============================check files=================================="
  cd $cur_dir
  tar zxvf libiconv-1.13.tar.gz
  cd libiconv-1.13/
  ./configure --prefix=/usr/local
  make && make install
  cd ../
  cd $cur_dir
  tar zxvf libmcrypt-2.5.8.tar.gz
  cd libmcrypt-2.5.8/
  ./configure
  make && make install
  /sbin/ldconfig
  cd libltdl/
  ./configure --enable-ltdl-install
  make && make install
  cd ../../
  cd $cur_dir
  tar zxvf mhash-0.9.9.9.tar.gz
  cd mhash-0.9.9.9/
  ./configure
  make && make install
  cd ../
  ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
  ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
  ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
  ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
  ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
  ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
  ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
  ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
  ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
  cd $cur_dir
  tar zxvf mcrypt-2.6.8.tar.gz
  cd mcrypt-2.6.8/
  ./configure
  make && make install
  cd ../
  echo "============================mysql install=================================="
  cd $cur_dir
  tar -zxvf mysql-5.1.44.tar.gz
  cd mysql-5.1.44/
  ./configure --prefix=/usr/local/mysql --with-extra-charsets=all --enable-thread-safe-client --enable-assembler --with- --enable-thread-safe-client --with-extra-charsets=all --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile
  make && make install
  cd ../
  groupadd mysql
  useradd -g mysql mysql
  cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
  /usr/local/mysql/bin/mysql_install_db --user=mysql
  chown -R mysql /usr/local/mysql/var
  chgrp -R mysql /usr/local/mysql/.
  cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql
  chmod 755 /etc/init.d/mysql
  chkconfig --level 345 mysql on
  echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
  echo "/usr/local/lib" >>/etc/ld.so.conf
  ldconfig
  ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
  ln -s /usr/local/mysql/include/mysql /usr/include/mysql
  /etc/init.d/mysql start
  /usr/local/mysql/bin/mysqladmin -u root password $mysqlrootpwd
  /etc/init.d/mysql restart
  /etc/init.d/mysql stop
  chkconfig mysql-ndb off
  chkconfig mysql-ndb-mgm off
  echo "============================mysql intall finished========================="
  echo "============================php+eaccelerator install======================"
  cd $cur_dir
  tar zxvf php-5.2.10.tar.gz
  gzip -d ./suhosin-patch-5.2.10-0.9.7.patch.gz
  gzip -cd php-5.2.10-fpm-0.5.13.diff.gz | patch -d php-5.2.10 -p1
  cd php-5.2.10/
  patch -p 1 -i ../suhosin-patch-5.2.10-0.9.7.patch
  ./buildconf --force
  ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-mime-magic --enable-suhosin
  make ZEND_EXTRA_LIBS='-liconv'
  make install
  cp php.ini-dist /usr/local/php/etc/php.ini
  cd ../
  cd $cur_dir
  tar zxvf memcache-2.2.5.tgz
  cd memcache-2.2.5/
  /usr/local/php/bin/phpize
  ./configure --with-php-config=/usr/local/php/bin/php-config
  make && make install
  cd ../
  tar zxvf PDO_MYSQL-1.0.2.tgz
  cd PDO_MYSQL-1.0.2/
  /usr/local/php/bin/phpize
  ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
  make
  make install
  cd ../
  sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"\nextension = "memcache.so"\nextension = "pdo_mysql.so"\n#' /usr/local/php/etc/php.ini
  sed -i 's#output_buffering = Off#output_buffering = On#' /usr/local/php/etc/php.ini
  sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /usr/local/php/etc/php.ini
  sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /usr/local/php/etc/php.ini
  sed -i 's/;date.timezone =/date.timezone = PRC/g' /usr/local/php/etc/php.ini
  sed -i 's/; cgi.fix_pathinfo=0/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.ini
  if [ `uname -m` = 'x86_64' ]; then
  wget -c http://soft.vpser.net/web/zend/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
  tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
  mkdir -p /usr/local/zend/
  cp ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/
  else
  wget -c http://soft.vpser.net/web/zend/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
  tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
  mkdir -p /usr/local/zend/
  cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/
  fi
  cat >>/usr/local/php/etc/php.ini>/root/run.sh
  echo "============================php+eaccelerator install finished======================"
  echo "============================nginx install================================="
  cd $cur_dir
  tar zxvf pcre-7.9.tar.gz
  cd pcre-7.9/
  ./configure
  make && make install
  cd ../
  tar zxvf nginx-0.7.65.tar.gz
  cd nginx-0.7.65/
  ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
  make && make install
  cd ../
  rm -f /usr/local/nginx/conf/nginx.conf
  cd $cur_dir
  cp conf/nginx.conf /usr/local/nginx/conf/nginx.conf
  cp conf/dabr.conf /usr/local/nginx/conf/dabr.conf
  cp conf/discuz.conf /usr/local/nginx/conf/discuz.conf
  cp conf/sablog.conf /usr/local/nginx/conf/sablog.conf
  cp conf/typecho.conf /usr/local/nginx/conf/typecho.conf
  cp conf/wordpress.conf /usr/local/nginx/conf/wordpress.conf
  cp conf/none.conf /usr/local/nginx/conf/none.conf
  sed -i 's/www.lnmp.org/'$domain'/g' /usr/local/nginx/conf/nginx.conf
  rm -f /usr/local/nginx/conf/fcgi.conf
  cp conf/fcgi.conf /usr/local/nginx/conf/fcgi.conf
  echo "/usr/local/nginx/sbin/nginx" >>/root/run.sh
  chmod 777 /root/run.sh
  /etc/init.d/mysql start
  /root/run.sh
  cd $cur_dir
  cp lnmp /root/lnmp
  chmod +x /root/lnmp
  echo "============================nginx install finished================================="
  cat >/home/wwwroot/phpinfo.php

运维网声明 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-603511-1-1.html 上篇帖子: MySQL 数据库的读写分离 下篇帖子: nginx+tomcat+mysql模板配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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