#!/bin/sh #Author:王康 #Date:2012-01-12 02:00:00 #Description:版本针对64位系统,操作系统为CentOS6.2 #复制yum更新文件##################################################################### #安装依赖库和开发工具################################################################# yum -y install 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 #安装Nginx库######################################################################### yum -y install pcre-devel zlib-devel #安装PHP库########################################################################### yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel #安装MySQL库######################################################################### yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* #安装cmake########################################################################### cd /home/soft tar -zxvf cmake-2.8.7.tar.gz cd cmake-2.8.7 ./configure gmake gmake install #添加MYSQL用户####################################################################### /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql #创建安装目录######################################################################## mkdir -p /usr/local/webserver/mysql/data #设置binlog######################################################################### mkdir /usr/local/webserver/mysql/mysql-bin chown -R mysql:mysql /usr/local/webserver/mysql/mysql-bin #目录授权############################################################################ chown -R mysql:mysql /usr/local/webserver/mysql/data # 添加MYSQL用户###################################################################### cd /home/soft MAKE_RUN=$(($(more /proc/cpuinfo | grep processor | wc -l) + 1)) tar -zxvf mysql-5.5.20.tar.gz cd mysql-5.5.20 cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/\ -DMYSQL_DATADIR=/usr/local/webserver/mysql/data/\ -DEXTRA_CHARSETS=all\ -DDEFAULT_CHARSET=utf8\ -DDEFAULT_COLLATION=utf8_general_ci\ -DSYSCONFDIR=/etc/\ -DWITH_DEBUG=0 make -j ${MAKE_RUN} make install #初始化权限表####################################################################### rm -f /etc/my.cnf cd /home/soft cp my.cnf /etc/my.cnf cd /usr/local/webserver/mysql ./scripts/mysql_install_db --user=mysql #开启mysql########################################################################## #/usr/local/webserver/mysql/bin/mysqld_safe & #设置数据库配置###################################################################### rm -f /etc/rc.d/init.d/mysql cp /usr/local/webserver/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql chmod 700 /etc/rc.d/init.d/mysql chkconfig --add mysql chkconfig --level 345 mysql on chkconfig --list mysql #设置环境变量####################################################################### echo "export PATH=$PATH:/usr/local/webserver/mysql/bin">>/etc/profile source /etc/profile #更改密码########################################################################### #/etc/init.d/mysql restart #/usr/local/webserver/mysql/bin/mysqladmin -uroot password root #mysql -uroot -proot #Grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; #flush privileges; #exit; ################################################################################### ################################################################################### #安装libiconv扩展################################################################### cd /home/soft tar -zxvf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure --prefix=/usr/local/ make make install #安装libmcrypt扩展################################################################### cd /home/soft 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 #安装mhash扩展###################################################################### cd /home/soft tar -zxvf mhash-0.9.9.9.tar.gz cd mhash-0.9.9.9 ./configure make make install #加载软连接######################################################################### ln -s /usr/local/lib/libmcrypt.la /usr/lib64/libmcrypt.la ln -s /usr/local/lib/libmcrypt.so /usr/lib64/libmcrypt.so ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4 ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8 ln -s /usr/local/lib/libmhash.a /usr/lib64/libmhash.a ln -s /usr/local/lib/libmhash.la /usr/lib64/libmhash.la ln -s /usr/local/lib/libmhash.so /usr/lib64/libmhash.so ln -s /usr/local/lib/libmhash.so.2 /usr/lib64/libmhash.so.2 ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1 ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config #安装mcrypt扩展###################################################################### cd /home/soft tar -zxvf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8 /sbin/ldconfig ./configure make make install #增加软连接 ,防止出现make: *** [ext/phar/phar.php] 错误 127############################ ln -s /usr/local/bin/libiconv.so /usr/bin/libiconv.so ln -s /usr/local/bin/libiconv.so.2 /usr/bin/libiconv.so.2 ln -s /usr/local/webserver/mysql/lib/libmysqlclient.so /usr/lib64/libmysqlclient.so ln -s /usr/local/webserver/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18 #添加www组和www用户################################################################## /usr/sbin/groupadd www /usr/sbin/useradd -g www www mkdir -p /var/log/nginx chmod +w /var/log/nginx chown -R www:www /var/log/nginx mkdir -p /hotdoc/demo.com/www mkdir -p /hotdoc/1.uuzu.com/cdn mkdir -p /hotdoc/1.uuzu.com/s1 chmod +w /hotdoc chown -R www:www /hotdoc cd /home/soft cp index.php /hotdoc/demo.com/www cp index.php /hotdoc/1.uuzu.com/cdn cp index.php /hotdoc/1.uuzu.com/s1 #安装PHP############################################################################# cd /home/soft tar -zxvf php-5.3.10.tar.gz cd php-5.3.10 cp -frp /usr/lib64/libldap* /usr/lib/ ./configure --prefix=/usr/local/webserver/php/\ --with-config-file-path=/usr/local/webserver/php/etc/\ --with-iconv-dir=/usr/local/\ --with-freetype-dir\ --with-mysql=/usr/local/webserver/mysql/\ --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config\ --with-jpeg-dir\ --with-png-dir\ --with-zlib\ --with-mhash\ --enable-sockets\ --enable-ftp\ --with-libxml-dir\ --enable-xml\ --disable-rpath\ --enable-safe-mode\ --enable-bcmath\ --enable-shmop\ --enable-sysvsem\ --enable-inline-optimization\ --with-curl\ --with-curlwrappers\ --enable-mbregex\ --enable-mbstring\ --with-mcrypt\ --with-gd\ --enable-gd-native-ttf\ --with-openssl\ --with-mhash\ --enable-pcntl\ --enable-sockets\ --with-ldap\ --with-ldap-sasl\ --enable-fpm\ --with-xmlrpc\ --enable-zip\ --enable-soap\ --enable-sysvmsg\ --without-pear make ZEND_EXTRA_LIBS='-liconv' make install cd /home/soft cp php.ini /usr/local/webserver/php/etc/php.ini echo "export PATH=$PATH:/usr/local/webserver/php/bin">>/etc/profile source /etc/profile cd /home/soft rm -f /usr/local/webserver/php/etc/php-fpm.conf cp php-fpm.conf /usr/local/webserver/php/etc/php-fpm.conf #检查语法是否正确 #/usr/local/webserver/php/sbin/php-fpm -t #出现NOTICE: configuration file /usr/local/webserver/php/etc/php-fpm.conf test is successful 测试成功 #/usr/local/webserver/php/sbin/php-fpm & #安装PHP常用扩展##################################################################### cd /home/soft/php-5.3.10 cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod 700 /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig --level 345 php-fpm on chkconfig --list php-fpm #安装libevent-2.0.16-stable.tar.gz################################################### cd /home/soft tar -zxvf libevent-2.0.16-stable.tar.gz cd libevent-2.0.16-stable ./configure --prefix=/usr/ make make install #安装Memcached####################################################################### cd /home/soft tar -zxvf memcached-1.4.10.tar.gz cd memcached-1.4.10 ./configure --with-libevent=/usr make make install ln -s /usr/lib/libevent* /usr/lib64/ /usr/local/bin/memcached -d -l 127.0.0.1 -p 11211 -u nobody -m 200 -c 1024 -P /tmp/memcached.pid #设置自动启动######################################################################### rm -f /etc/init.d/memcached cd /home/soft cp memcached /etc/init.d/memcached chmod 711 /etc/init.d/memcached chkconfig --add memcached chkconfig --level 345 memcached on chkconfig --list memcached #安装MemcahePHP的扩展################################################################# cd /home/soft tar -zxvf memcache-3.0.6.tgz cd memcache-3.0.6 /usr/local/webserver/php/bin/phpize ./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-zlib-dir --enable-memcache make make install # 安装ZEND扩展 cd /home/soft tar -zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz cd ZendGuardLoader-php-5.3-linux-glibc23-x86_64 mkdir -p /usr/local/webserver/php/lib/php/extensions/Zend cp -R php-5.3.x /usr/local/webserver/php/lib/php/extensions/Zend/ cd /home/soft tar -zxvf xcache-1.3.2.tar.gz cd xcache-1.3.2 /usr/local/webserver/php/bin/phpize ./configure --with-php-config=/usr/local/webserver/php/bin/php-config --enable-xcache --enable-xcache-assembler make make install # 安装Redis服务端 cd /home/soft tar -zxvf redis-2.4.5.tar.gz cd redis-2.4.5 make make PREFIX=/usr/local/webserver/redis install # 设置Redis服务端 cd /home/soft rm -f /etc/redis/redis.conf rm -rf /etc/redis/ mkdir /etc/redis mkdir -p /var/lib/redis cp redis.conf /etc/redis/redis.conf # 防止Redis脚本在重启或停止报错 echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf sysctl -p # 设置自动启动 cd /home/soft rm -f /etc/init.d/redis cp redis /etc/init.d/redis # 启动Redis chmod 755 /etc/init.d/redis chkconfig --add redis chkconfig --level 345 redis on chkconfig --list redis # 安装PHPRedis扩展 cd /home/soft tar -zxvf phpredis-2.1.3.tar.gz cd phpredis #根据PHP实际安装路径进行设置 /usr/local/webserver/php/bin/phpize ./configure -with-php-config=/usr/local/webserver/php/bin/php-config make make install mkdir -p /var/local/webserver/nginx/logs chmod +w /var/local/webserver/nginx/logs chown -R www:www /var/local/webserver/nginx/logs # 安装pcre-8.21 cd /home/soft tar zxf pcre-8.21.tar.gz cd pcre-8.21 ./configure make make install # 安装Nginx cd /home/soft tar zxf nginx-1.1.12.tar.gz cd nginx-1.1.12 ./configure \ --user=www\ --group=www\ --prefix=/usr/local/webserver/nginx\ --sbin-path=/usr/local/webserver/nginx/sbin/nginx\ --conf-path=/usr/local/webserver/nginx/conf/nginx.conf\ --with-http_stub_status_module\ --with-http_ssl_module\ --with-pcre\ --lock-path=/var/run/nginx.lock\ --pid-path=/var/run/nginx.pid make make install cd /home/soft mv /usr/local/webserver/nginx/conf/nginx.conf /usr/local/webserver/nginx/conf/nginx.conf.old cp nginx.conf /usr/local/webserver/nginx/conf/ cp -R vhosts /usr/local/webserver/nginx/conf/ rm -f /usr/local/webserver/nginx/conf/fastcgi_params cp fastcgi_params /usr/local/webserver/nginx/conf/fastcgi_params #自动启动 cd /home/soft rm -f /etc/init.d/nginx cp nginx /etc/init.d/ chmod 711 /etc/init.d/nginx chkconfig --add nginx chkconfig --level 345 nginx on #开启防火墙 /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 433 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 9090 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 843 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 57522 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT /etc/rc.d/init.d/iptables save /etc/init.d/iptables restart #聊天库 ln -s /usr/lib64/libcurl.so /usr/lib64/libcurl.so.3 #重启所有服务器 /etc/init.d/nginx restart /etc/init.d/php-fpm restart /etc/init.d/mysql restart /etc/init.d/memcached restart /etc/init.d/redis restart