#!/bin/sh cd /home/web/logs/; mv -f nginx-access.log `date +%u -d "1 day ago"`.nginx-access.log; /usr/local/nginx/sbin/nginx -s reload
#php.ini#这个比较烦,大家可以等到php安装完成后,复制php的sample过去,这里我们只说一下需要新增或修改的内容
cgi.fix_pathinfo=0 error_log = /home/web/logs/php_errors.log [eaccelerator] zend_extension="/usr/lib/eaccelerator.so" eaccelerator.shm_size="32" eaccelerator.cache_dir="/tmp" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="3600" eaccelerator.shm_prune_period="3600" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
#php-fpm.conf#这个也比较烦,同上,大家可以等安装完后,复制php的sample过去,这里给出一下需要修改的部分,特别是pm那几项,要根据自己的实际压力情况修改
#注意,旧版本的php-fpm配置文件是xml格式的,新版本的改为conf格式,这里与张宴老师的文章里没有提到
error_log = /home/web/logs/php-fpm.log [global] user = web group = web listen = 127.0.0.1:9000 pid = run/php-fpm.pid pm = dynamic pm.max_children = 8 pm.max_spare_servers = 4 pm.min_spare_servers = 2 pm.start_servers = 4 slowlog = /home/web/logs/$pool.log.slow
准备完成的话,就可以开工了######################## START ##########################
#下面部分保存为install_nginx.sh
#!/bin/sh tar zxvf libiconv-1.13.1.tar.gz cd libiconv-1.13.1/ ./configure --prefix=/usr/local make make install cd ../ 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 ../../ tar -jxvf mhash-0.9.9.9.tar.bz2 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 zxvf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8/ /sbin/ldconfig ./configure make make install cd ../ groupadd mysql useradd -g mysql -s "/sbin/nologin" mysql tar zxvf mysql-5.1.58.tar.gz cd mysql-5.1.58 ./configure --prefix=/usr/local/mysql --localstatedir=/home/mysql --with-charset=gbk --with-extra-charsets=all --enable-thread-safe-client --with-plugins=partition,innobase,myisam,innodb_plugin,myisammrg,heap make make install chown mysql:mysql -R /usr/local/mysql/ cd ../ tar zxvf php-5.3.8.tar.gz cd php-5.3.8/ ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --enable-fpm --enable-mbstring --with-mcrypt --with-mhash --enable-pcntl --enable-soap --with-gd=/usr/local/libgd --enable-gd-native-ttf --enable-gd-jis-conv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr --with-zlib-dir=/usr/local/lib --enable-xml --enable-sockets --with-pdo-mysql=/usr/local/mysql make ZEND_EXTRA_LIBS='-liconv' make install cd ../ tar jxvf 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 cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so /usr/lib/ cd ../ mv php.ini /usr/local/php/lib/ groupadd web useradd -g web -s "/sbin/nologin" web mv php-fpm.conf /usr/local/php/lib/ tar zxvf pcre-8.10.tar.gz cd pcre-8.10/ ./configure make && make install cd ../ tar -zxvf nginx-1.0.11.tar.gz cd nginx-1.0.11 ./configure --user=web --group=web --prefix=/usr/local/nginx --with-http_stub_status_module make && make install cd ../ mv nginx.conf /usr/local/nginx/conf/ mv fcgi.conf /usr/local/nginx/conf/ #验证: cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE /usr/local/php/bin/php -i | grep configure /usr/local/nginx/sbin/nginx -V mv fastcgi_nginx_ctl.sh /home/ chmod +x /home/fastcgi_nginx_ctl.sh mkdir /home/web/logs chown web.web /home/web/logs mv cut_log.sh /home/web/logs/ chmod +x /home/web/logs/cut_log.sh
######################## END ##########################
然后将所有的tar.gz,以及刚才保存的文件,修改的php的配置文件放在一起,例如/root/nginx里
执行:
chmod u+x install_nginx.sh ./install_nginx.sh > test.log
估计要等10分钟左右,出去放放风,可能会看到很多warning,反正只要没有严重报错就行了。
脚本运行完了,就算是装完了,但还有个小地方建议改一下。
nginx有个特点,会有大量的TIME_WAIT,建议修改内核参数来调整