64位 CentOS 5.6 中 Nginx + PHP + MySQL 的编译安装(4)

#!/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,建议修改内核参数来调整

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pswjp.html