q456123 发表于 2018-11-10 08:16:18

用nginx_php 自动安装LNMP

  此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP。使用方法:chmod u+x nginx_php; ./nginx_php init|ins_mysql-server|ins_mysql-client|ins_php52|ins_php52-ext|ins_mysql
  
本脚本会在脚本执行目录下,建packages用于存放LNMP所需要的软件。大家安装完可以删除该目录。
  

  


[*]#/bash
[*]# author:coralzd powered by www.freebsdsystem.org
[*]# written by coralzd 2011.05.05
[*]# version 0.1.3 build 20110505
[*]
[*]
[*]nginx_dir="/usr/local/nginx"
[*]php52_dir="/usr/local/php52"
[*]mysql_dir="/usr/local/mysql"
[*]
[*]function init()
[*]{
[*]
[*]LANG=C
[*]yum -y install wget gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng \
[*]libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel \
[*]glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel \
[*]curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn \
[*]libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap \
[*]openldap-clients openldap-servers
[*]
[*]read -p "Now,will download nginxphp software...Y|y:" nginxphp
[*]
[*]case "$nginxphp" in
[*]
[*]Y|y)
[*]
[*]echo -n "starting download nginx_php ..."
[*]cat > list/etc/ld.so.conf.d/usr_local_lib.conf
[*]cp nginx.conf /usr/local/nginx/conf/
[*]cp fcgi.conf /usr/local/nginx/conf/
[*]echo "nginx installed sucussfully!"
[*]
[*]}
[*]
[*]
[*]function ins_mysql-server()
[*]{
[*]
[*]cd packages/
[*]tar zxf mysql-5.1.52.tar.gz
[*]cd mysql-5.1.52
[*]CHOST="x86_64-pc-linux-gnu"
[*]CFLAGS="-march=nocona -O2 -pipe"
[*]CXXFLAGS="${CFLAGS}"
[*]./configure "--prefix=${mysql_dir}" "--with-server-suffix=-DZWWW" "--with-mysqld-user=mysql" "--without-debug" "--with-" "--with-extra-charsets=all" "--with-pthread" "--with-big-tables" "--enable-thread-safe-client" "--enable-assembler" "--with-readline" "--with-ssl" "--enable-local-infile" "--with-plugins=partition,myisammrg" "--without-ndb-debug"
[*]
[*]make && make install
[*]cp support-*/mysql.server /etc/init.d/mysqld
[*]cd /usr/local/mysql
[*]chown -R mysql:mysql .
[*]rm -rf sql-bench mysql-test
[*]echo "mysql server 5.1.52 installed successfully!"
[*]}
[*]
[*]
[*]function ins_mysql-client()
[*]{
[*]
[*]cd packages/
[*]tar zxf mysql-5.1.52.tar.gz
[*]cd mysql-5.1.52
[*]CHOST="x86_64-pc-linux-gnu"
[*]CFLAGS="-march=nocona -O2 -pipe"
[*]CXXFLAGS="${CFLAGS}"
[*]./configure "--prefix=${mysql_dir}" "--with-mysqld-user=mysql" "--without-debug" "--with-charset=utf8" "--with-extra-charsets=all" "--with-pthread" "--with-big-tables" "--enable-thread-safe-client" "--enable-assembler" "--with-readline" "--with-ssl" "--enable-local-infile" "--without-server"
[*]
[*]make && make install
[*]cd /usr/local/mysql
[*]chown -R mysql:mysql .
[*]rm -rf sql-bench mysql-test
[*]echo "mysql client 5.1.52 installed successfully!"
[*]}
[*]function ins_php52()
[*]{
[*]cd packages/
[*]tar zxf libiconv-1.13.1.tar.gz
[*]cd libiconv-1.13.1/
[*]./configure --prefix=/usr/local
[*]make
[*]make install
[*]cd ../
[*]
[*]tar zxf 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 ../../
[*]
[*]tar zxf 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
[*]ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
[*]
[*]tar zxf mcrypt-2.6.8.tar.gz
[*]cd mcrypt-2.6.8/
[*]/sbin/ldconfig
[*]./configure
[*]make
[*]make install
[*]cd ../
[*]
[*]
[*]tar zxf php-5.2.17.tar.gz
[*]gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
[*]cd php-5.2.17/
[*]./configure --prefix=${php52_dir} --with-config-file-path=${php52_dir}/etc --with-mysql=${mysql_dir} --with-mysqli=${mysql_dir}/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --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 --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap
[*]make ZEND_EXTRA_LIBS='-liconv'
[*]make install
[*]cd ..
[*]cp php.ini /usr/local/php52/etc/
[*]cp php-fpm.conf /usr/local/php52/etc/
[*]
[*]echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf.d/mysql_lib.conf
[*]/sbin/ldconfig
[*]echo "php52 installed successfully!"
[*]}
[*]
[*]function ins_php52-ext()
[*]
[*]{
[*]cd packages/
[*]
[*]tar zxf memcache-2.2.5.tgz
[*]cd memcache-2.2.5/
[*]${php52_dir}/bin/phpize
[*]./configure --with-php-config=${php52_dir}/bin/php-config
[*]make
[*]make install
[*]cd ../
[*]
[*]tar jxf eaccelerator-0.9.6.1.tar.bz2
[*]cd eaccelerator-0.9.6.1/
[*]${php52_dir}/bin/phpize
[*]./configure --enable-eaccelerator=shared --with-php-config=${php52_dir}/bin/php-config
[*]make
[*]make install
[*]cd ../
[*]
[*]tar zxf PDO_MYSQL-1.0.2.tgz
[*]cd PDO_MYSQL-1.0.2/
[*]${php52_dir}/bin/phpize
[*]./configure --with-php-config=${php52_dir}/bin/php-config --with-pdo-mysql=${mysql_dir}
[*]make
[*]make install
[*]cd ../
[*]
[*]tar zxf ImageMagick.tar.gz
[*]cd ImageMagick-6.5.1-2/
[*]./configure
[*]make
[*]make install
[*]cd ../
[*]
[*]tar zxf imagick-2.3.0.tgz
[*]cd imagick-2.3.0/
[*]${php52_dir}/bin/phpize
[*]./configure --with-php-config=${php52_dir}/bin/php-config
[*]make
[*]make install
[*]cd ../
[*]
[*]echo "php52 extension installed successfully!"
[*]
[*]}
[*]
[*]case $1 in
[*]
[*]
[*]init)
[*]
[*]init
[*];;
[*]ins_mysql-server)
[*]
[*]ins_mysql-server
[*]
[*];;
[*]ins_mysql-client)
[*]ins_mysql-client
[*];;
[*]ins_nginx)
[*]ins_nginx
[*];;
[*]ins_php52)
[*]ins_php52
[*];;
[*]ins_php52-ext)
[*]ins_php52-ext
[*];;
[*]*)
[*]
[*]echo "Usage:`basename $0` {init|ins_mysql-server|ins_mysql-client|ins_php52|ins_php52-ext|ins_mysql}"
[*];;
[*]esac
[*]
  



页: [1]
查看完整版本: 用nginx_php 自动安装LNMP