LNMP 自动安装脚本
2012-08-17 13:54
381 查看
本脚用来直接部署LNMP,方便快捷,有错误的地方,欢迎指出,及时更改
此脚本在CentOS 5.5/6.2 x86_64环境下通过
使用方法:保存脚本名为 install_lnmp.sh
执行./install_lnmp 参数名[db|nginx|php|memcached]
软件包下载到脚本当前目录的Packages 下
原始地址:http://blog.51bbo.com/archives/1358
本文出自 “周达博客” 博客,请务必保留此出处http://zhouda.blog.51cto.com/849246/965638
此脚本在CentOS 5.5/6.2 x86_64环境下通过
使用方法:保存脚本名为 install_lnmp.sh
执行./install_lnmp 参数名[db|nginx|php|memcached]
软件包下载到脚本当前目录的Packages 下
drwxr-xr-x. 3 root root 4096 Aug 7 20:09 Config -rwxr-xr-x. 1 root root 7879 Aug 7 19:58 install-lnmp.sh drwxr-xr-x. 2 root root 4096 Aug 7 18:16 Packages 脚本内容:
#! /bin/sh #------------------------------------------------------- # Link: http://blog.51bbo.com/ # Version: V2.0 CentOS X86_64 5.5 6.2 # wget http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.bz2 # wget http://acelnmp.googlecode.com/files/eaccelerator-0.9.6.1.tar.bz2 # wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.bz2 # wget https://github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz # wget http://nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz # wget http://memcached.googlecode.com/files/memcached-1.4.14.tar.gz # wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.23.tar.gz # wget http://pecl.php.net/get/memcache-2.2.5.tgz # wget http://nginx.org/download/nginx-1.2.1.tar.gz # wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz # wget http://cn.php.net/distributions/php-5.2.17.tar.gz #------------------------------------------------------- ServerName=01314.cn MyPath=`pwd` Packages=$MyPath/Packages Config=$MyPath/Config echo "Starting install Package ..." myyum=`cat /etc/yum.conf |grep exclude` if [ `uname -i` = "x86_64" ] && [ -z "$myyum" ]; then echo "exclude=*.i?86" >> /etc/yum.conf fi yum install -y gcc gcc-c++ autoconf cmake bison bison-devel patch mhash-devel pcre pcre-devel ncurses ncurses-devel libpng libpng-devel libjpeg libjpeg-devel libxml2 libxml2-devel zlib zlib-devel bzip2 bzip2-devel curl curl-devel openssl openssl-devel openldap openldap-devel gdbm-devel db4-devel freetype freetype-devel fontconfig fontconfig-devel gmp gmp-devel libtool-ltdl libtool-ltdl-devel gd clear in_nginx () { echo "Starting install Nginx-1.2.1..." cd $Packages tar zxf nginx-1.2.1.tar.gz cd nginx-1.2.1 ./configure --with-http_stub_status_module --with-http_ssl_module make && make install mkdir -p /data/logs/nginx/ if [ ! -d /usr/local/nginx/conf/vhost ]; then mkdir -p /usr/local/nginx/conf/vhost fi \cp $Config/nginx.conf /usr/local/nginx/conf \cp $Config/01314.conf /usr/local/nginx/conf/vhost/$ServerName.conf sed -i "s/01314.cn/$ServerName/g" /usr/local/nginx/conf/vhost/$ServerName.conf mkdir -p /data/website/$ServerName cp $Config/info.php /data/website/$ServerName echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local /usr/local/nginx/sbin/nginx echo -e "Nginx is running with PID: [\033[1m\033[32m`pidof nginx`\033[0m]" } in_mysql () { echo "Starting install Mysql-5.5.23..." cd $Packages tar zxf mysql-5.5.23.tar.gz cd mysql-5.5.23 useradd mysql cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DINSTALL_DATADIR=/data/db/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_SSL=bundled -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 make && make install \cp $Config/my.cnf /etc/my.cnf #/usr/local/mysql/support-files目录下有my.cnf文件供选择使用 /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/db --user=mysql cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld mkdir -p /data/logs/mysql; chown mysql.mysql /data/logs/mysql; chmod 777 -R /data/logs/mysql chkconfig mysqld on /etc/init.d/mysqld start echo -e "Mysql is running with PID: [\033[1m\033[32m`pidof mysqld`\033[0m]" } in_libmcrypt () { cd $Packages 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 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/bin/libmcrypt-config /usr/bin/libmcrypt-config } in_mhash () { cd $Packages tar jxf mhash-0.9.9.9.tar.bz2 cd mhash-0.9.9.9 ./configure make && make install 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 } in_mcrypt () { cd $Packages tar zxf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8 /sbin/ldconfig ./configure make && make install } in_php () { echo "Starting install php-5.2.17..." mkdir -p /etc/php5.2/php.d cd $Packages if [ ! -d "php-5.2.17" ]; then 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 fi if [ `uname -i` = "x86_64" ]; then ln -s /usr/lib64/libjpeg.so /usr/lib ln -s /usr/lib64/libpng.so /usr/lib ln -s /usr/lib64/libldap.so /usr/lib fi cd php-5.2.17 ln -s /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config ./configure --prefix=/usr/local/php --with-config-file-path=/etc/php5.2 --with-config-file-scan-dir=/etc/php5.2/php.d --with-mysql-sock=/tmp/mysql.sock --with-mysql=shared,/usr/local/mysql --with-mysqli=shared,/usr/local/mysql/bin/mysql_config --with-iconv=shared --disable-debug --enable-pic --enable-shared --enable-inline-optimization --with-gettext=shared --with-gd=shared --with-curl=shared --with-curlwrappers --with-mcrypt=shared --with-jpeg-dir --with-png-dir --with-zlib=shared --with-libxml-dir=/usr --with-gdbm --with-openssl=shared --with-gmp --with-bz2=shared --with-freetype-dir --enable-fastcgi --enable-fpm --enable-mbstring=shared --enable-safe-mode --enable-sockets=shared --enable-sysvsem=shared --enable-sysvshm=shared --enable-xml --enable-session --enable-zip=shared --enable-pdo --with-pdo-mysql --with-pdo-sqlite --enable-dbase=shared --enable-wddx --enable-shmop=shared --enable-soap=shared --enable-calendar=shared --enable-bcmath=shared --enable-discard-path --with-ldap=shared --with-ldap-sasl --with-xmlrpc=shared make && make install if [ `uname -i` = "x86_64" ]; then \cp $Config/x86_64/ZendOptimizer.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ chmod +x /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so else \cp $Config/ZendOptimizer.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ chmod +x /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so fi \cp $Config/php-fpm.conf /usr/local/php/etc echo "/usr/local/php/sbin/php-fpm start" >> /etc/rc.local \cp $Config/php.ini /etc/php5.2/ } in_eaccelerator () { cd $Packages tar jxf eaccelerator-0.9.6.1.tar.bz2 cd eaccelerator-0.9.6.1 /usr/local/php/bin/phpize ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config make && make install mkdir /dev/shm/eaccelerator chmod 777 /dev/shm/eaccelerator echo "mkdir /dev/shm/eaccelerator ; chmod 777 /dev/shm/eaccelerator" >> /etc/rc.local } in_memcache () { cd $Packages tar zxf memcache-2.2.5.tgz cd memcache-2.2.5 /usr/local/php/bin/phpize ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config make && make install } in_libevent () { cd $Packages tar zxf libevent-2.0.19-stable.tar.gz cd libevent-2.0.19-stable ./configure --prefix=/usr/local/libevent make && make install } in_memcached () { echo "Starting install memcached-1.4.14..." cd $Packages tar xzf memcached-1.4.14.tar.gz cd memcached-1.4.14 ./configure --with-libevent=/usr/local/libevent --prefix=/usr/local/memcached make && make install echo "/usr/local/memcached/bin/memcached -d -m 1024 -u root -c 2048" >> /etc/rc.local } case $1 in nginx) in_nginx ;; db) in_mysql ;; php) in_libmcrypt in_mhash in_mcrypt in_php in_eaccelerator in_memcache /usr/local/php/sbin/php-fpm start ;; memcached) in_libevent in_memcached ;; esac
原始地址:http://blog.51bbo.com/archives/1358
本文出自 “周达博客” 博客,请务必保留此出处http://zhouda.blog.51cto.com/849246/965638
相关文章推荐
- 生产服务器LNMP全自动安装脚本
- 生产服务器LNMP全自动安装脚本
- 一个自动安装lnmp环境的shell脚本
- LNMP一键安装包 PHP自动升级脚本
- 生产服务器LNMP全自动安装脚本
- LNMP全自动安装脚本
- 生产服务器LNMP全自动安装脚本
- 20111129_LNMP自动安装脚本解析
- 一个简洁的全自动安装LNMP服务器环境的Shell脚本分享
- LAMP or LNMP 自动安装脚本(函数思想编写)
- LNMP自动安装部署脚本
- 生产环境lnmp脚本自动安装
- 一个简洁的全自动安装LNMP服务器环境的Shell脚本分享
- LNMP一键自动安装脚本
- linux LNMP自动安装脚本
- LNMP一键自动安装脚本
- 记录一个牛逼的 lnmp自动安装脚本
- LNMP一键自动安装脚本 推荐
- lnmp脚本自动安装
- 生产服务器LNMP全自动安装脚本 推荐