<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[Nginx 0.8.46 + PHP 5.2.13（FastCGI）+mysql5.5.3打造高性能web服务器]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Thu, 09 Dec 2010 07:45:25 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	安装步骤：<br/>　　（系统要求：Linux 2.6+ 内核，本文中的Linux操作系统为CentOS 5.3，另在RedHat AS4上也安装成功）<br/><br/><strong>一、获取相关开源程序：</strong><br/>　　1、【适用CentOS操作系统】利用CentOS Linux系统自带的yum命令安装、升级所需的程序库（RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包，进行安装）：<br/><br/><div class="code"><br/>sudo -s<br/>LANG=C<br/>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<br/><br/></div><br/><br/>　2、【适用RedHat操作系统】RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包（事先可通过类似“rpm -qa &#124; grep libjpeg”的命令查看所需的RPM包是否存在，通常是“xxx-devel”不存在，需要安装）。RedHat可以直接利用CentOS的RPM包安装，以下是RPM包下载网址：<br/>　　①、RedHat AS4 & CentOS 4<br/>　　<a href="http://mirrors.163.com/centos/4/os/i386/CentOS/RPMS/" target="_blank">http://mirrors.163.com/centos/4/os/i386/CentOS/RPMS/</a><br/>　　<a href="http://mirrors.163.com/centos/4/os/x86_64/CentOS/RPMS/" target="_blank">http://mirrors.163.com/centos/4/os/x86_64/CentOS/RPMS/</a><br/><br/>　　②、RedHat AS5 & CentOS 5<br/>　　<a href="http://mirrors.163.com/centos/5/os/i386/CentOS/" target="_blank">http://mirrors.163.com/centos/5/os/i386/CentOS/</a><br/>　　<a href="http://mirrors.163.com/centos/5/os/x86_64/CentOS/" target="_blank">http://mirrors.163.com/centos/5/os/x86_64/CentOS/</a><br/><br/>　　③、RPM包搜索网站<br/>　　<a href="http://rpm.pbone.net/" target="_blank">http://rpm.pbone.net/</a><br/>　　<a href="http://www.rpmfind.net/" target="_blank">http://www.rpmfind.net/</a><br/><br/>　　④、RedHat AS4 系统环境，通常情况下缺少的支持包安装：<br/>　　Ⅰ、i386 系统<br/><div class="code"><br/>wget http://blog.s135.com/soft/linux/nginx_php/rpm/i386/libjpeg-devel-6b-33.i386.rpm<br/>rpm -ivh libjpeg-devel-6b-33.i386.rpm<br/>wget http://blog.s135.com/soft/linux/nginx_php/rpm/i386/freetype-devel-2.1.9-1.i386.rpm<br/>rpm -ivh freetype-devel-2.1.9-1.i386.rpm<br/>wget http://blog.s135.com/soft/linux/nginx_php/rpm/i386/libpng-devel-1.2.7-1.i386.rpm<br/>rpm -ivh libpng-devel-1.2.7-1.i386.rpm<br/><br/></div><br/><br/>Ⅱ、x86_64 系统<br/><div class="code"><br/>wget http://blog.s135.com/soft/linux/nginx_php/rpm/x86_64/libjpeg-devel-6b-33.x86_64.rpm<br/>rpm -ivh libjpeg-devel-6b-33.x86_64.rpm<br/>wget http://blog.s135.com/soft/linux/nginx_php/rpm/x86_64/freetype-devel-2.1.9-1.x86_64.rpm<br/>rpm -ivh freetype-devel-2.1.9-1.x86_64.rpm<br/>wget http://blog.s135.com/soft/linux/nginx_php/rpm/x86_64/libpng-devel-1.2.7-1.x86_64.rpm<br/>rpm -ivh libpng-devel-1.2.7-1.x86_64.rpm<br/><br/></div><br/><br/>3、【适用CentOS、RedHat及其它Linux操作系统】下载程序源码包：<br/>　　本文中提到的所有开源软件为截止到2010年07月26日的最新稳定版。<br/>　　①、从软件的官方网站下载：<br/><div class="code"><br/>wget http://sysoev.ru/nginx/nginx-0.8.46.tar.gz<br/>wget http://www.php.net/get/php-5.2.14.tar.gz/from/this/mirror<br/>wget http://php-fpm.org/downloads/php-5.2.14-fpm-0.5.14.diff.gz<br/>wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.3-m3.tar.gz/from/http://mysql.he.net/<br/>wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz<br/>wget &quot;http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&amp;big_mirror=0&quot;<br/>wget &quot;http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&amp;big_mirror=0&quot;<br/>wget http://pecl.php.net/get/memcache-2.2.5.tgz<br/>wget &quot;http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&amp;big_mirror=0&quot;<br/>wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.gz<br/>wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2<br/>wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz<br/>wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz<br/>wget http://pecl.php.net/get/imagick-2.3.0.tgz<br/>wget&nbsp;&nbsp;http://catlnmp.googlecode.com/files/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz<br/>wget&nbsp;&nbsp;http://catlnmp.googlecode.com/files/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz<br/></div><br/><br/>②、从blog.s135.com下载（比较稳定，只允许在本站，或者在Linux/Unix下通过Wget、Curl等命令下载以下软件）：<br/><div class="code"><br/>wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.8.46.tar.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/php/php-5.2.14.tar.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.14-fpm-0.5.14.diff.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/mysql/mysql-5.5.3-m3.tar.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/libiconv/libiconv-1.13.1.tar.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz<br/>wget http://blog.s135.com/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-8.10.tar.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/eaccelerator/eaccelerator-0.9.6.1.tar.bz2<br/>wget http://blog.s135.com/soft/linux/nginx_php/pdo/PDO_MYSQL-1.0.2.tgz<br/>wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz<br/>wget http://blog.s135.com/soft/linux/nginx_php/imagick/imagick-2.3.0.tgz<br/>wget&nbsp;&nbsp;http://catlnmp.googlecode.com/files/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz<br/>wget&nbsp;&nbsp;http://catlnmp.googlecode.com/files/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz<br/></div><br/><br/><strong>二、安装PHP 5.2.14（FastCGI模式）</strong>　<br/>　1、编译安装PHP 5.2.14所需的支持库：<br/><br/><div class="code"><br/>tar zxvf libiconv-1.13.1.tar.gz<br/>cd libiconv-1.13.1/<br/>./configure --prefix=/usr/local<br/>make<br/>make install<br/>cd ../<br/><br/>tar zxvf libmcrypt-2.5.8.tar.gz <br/>cd libmcrypt-2.5.8/<br/>./configure<br/>make<br/>make install<br/>/sbin/ldconfig<br/>cd libltdl/<br/>./configure --enable-ltdl-install<br/>make<br/>make install<br/>cd ../../<br/><br/>tar zxvf mhash-0.9.9.9.tar.gz<br/>cd mhash-0.9.9.9/<br/>./configure<br/>make<br/>make install<br/>cd ../<br/><br/>ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la<br/>ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so<br/>ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4<br/>ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8<br/>ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a<br/>ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la<br/>ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so<br/>ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2<br/>ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1<br/>ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config<br/><br/>tar zxvf mcrypt-2.6.8.tar.gz<br/>cd mcrypt-2.6.8/<br/>/sbin/ldconfig<br/>./configure<br/>make<br/>make install<br/>cd ../<br/><br/><br/></div><br/><br/>2、编译安装MySQL 5.5.3-m3<br/><br/><div class="code"><br/>/usr/sbin/groupadd mysql<br/>/usr/sbin/useradd -g mysql mysql<br/>tar zxvf mysql-5.5.3-m3.tar.gz<br/>cd mysql-5.5.3-m3/<br/>./configure --prefix=/usr/local/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase,myisammrg<br/>make &amp;&amp; make install<br/>cd ../<br/>cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf<br/>/usr/local/mysql/bin/mysql_install_db --user=mysql<br/>chown -R mysql /usr/local/mysql/var<br/>chgrp -R mysql /usr/local/mysql/.<br/><br/></div><br/><br/>添加Mysql启动服务,并且设置root密码<br/><br/><div class="code"><br/>cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql<br/>chmod 755 /etc/init.d/mysql<br/>chkconfig --level 345 mysql on<br/>echo &quot;/usr/local/mysql/lib/mysql&quot; &gt;&gt; /etc/ld.so.conf<br/>echo &quot;/usr/local/lib&quot; &gt;&gt; /etc/ld.so.conf<br/>ldconfig<br/>ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql<br/>ln -s /usr/local/mysql/include/mysql /usr/include/mysql<br/>service mysql start<br/>/usr/local/mysql/bin/mysqladmin -u root password root&nbsp;&nbsp;&nbsp;&nbsp;//root改为你需要的密码<br/>service mysql restart<br/></div><br/><br/>3、编译安装PHP（FastCGI模式）<br/><br/><div class="code"><br/>tar zxvf php-5.2.14.tar.gz<br/>gzip -cd php-5.2.14-fpm-0.5.14.diff.gz &#124; patch -d php-5.2.14 -p1<br/>cd php-5.2.14/<br/></div><br/>解决跨站问题<br/><br/>vi&nbsp;&nbsp;main/fopen_wrappers.c<br/><br/>并找到php_check_open_basedir_ex方法，在char *end;和pathbuf = estrdup(PG(open_basedir));之间插入以下的代码：<br/><br/><div class="code"><br/>char path_copy&#91;MAXPATHLEN&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int path_len;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path_len = strlen(path);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (path_len &gt;= MAXPATHLEN) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errno = EPERM;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (path_len &gt; 0 &amp;&amp; path&#91;path_len-1&#93; == PHP_DIR_SEPARATOR) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy(path_copy, path, path_len+1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (path_len &gt; 1 &amp;&amp; path_copy&#91;path_len-1&#93; == PHP_DIR_SEPARATOR) path_len--;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path_copy&#91;path_len&#93; = &#039;&#92;0&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path = (const char *)&amp;path_copy;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char *env_doc_root;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (PG(doc_root)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;env_doc_root = estrdup(PG(doc_root));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;env_doc_root = sapi_getenv(&quot;DOCUMENT_ROOT&quot;, sizeof(&quot;DOCUMENT_ROOT&quot;)-1 TSRMLS_CC);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (env_doc_root) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int res_root = php_check_specific_open_basedir(env_doc_root, path TSRMLS_CC);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;efree(env_doc_root);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (res_root == 0) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (res_root == -2) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errno = EPERM;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/></div><br/>并在php.ini中启用open_basedir如下：<br/><div class="code"><br/>open_basedir = &quot;/var/tmp/:/tmp/&quot;<br/><br/></div><br/><br/>修复php-5.2.x和php-5.3.x hash dos漏洞<br/><br/>到这里<a href="https://github.com/laruence/laruence.github.com/tree/master/php-5.2-" target="_blank">https://github.com/laruence/laruence.github.com/tree/master/php-5.2-</a> max-input-vars下载对应的补丁版本，进入php目录，执行patch -p1 < php-5.2.*-max-input-vars.patch打上补丁<br/><br/><div class="code"><br/><br/>wget https://raw.github.com/laruence/laruence.github.com/master/php-5.2-max-input-vars/php-5.2.14-max-input-vars.patch<br/><br/>patch -p1 &lt; php-5.2.14-max-input-vars.patch<br/><br/></div><br/><br/>编译php<br/><div class="code"><br/><br/>./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/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 --enable-ftp<br/>make ZEND_EXTRA_LIBS=&#039;-liconv&#039;<br/>make install<br/>cp php.ini-dist /usr/local/php/etc/php.ini<br/>cd ../<br/><br/></div><br/><br/>4、编译安装PHP5扩展模块<br/><br/><div class="code"><br/><br/>tar zxvf memcache-2.2.5.tgz<br/>cd memcache-2.2.5/<br/>/usr/local/php/bin/phpize<br/>./configure --with-php-config=/usr/local/php/bin/php-config<br/>make<br/>make install<br/>cd ../<br/><br/>tar jxvf eaccelerator-0.9.6.1.tar.bz2<br/>cd eaccelerator-0.9.6.1/<br/>/usr/local/php/bin/phpize<br/>./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config<br/>make<br/>make install<br/>cd ../<br/><br/>tar zxvf PDO_MYSQL-1.0.2.tgz<br/>cd PDO_MYSQL-1.0.2/<br/>/usr/local/php/bin/phpize<br/>./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql<br/>make<br/>make install<br/>cd ../<br/><br/>tar zxvf ImageMagick.tar.gz<br/>cd ImageMagick-6.5.1-2/<br/>./configure<br/>make<br/>make install<br/>cd ../<br/><br/>tar zxvf imagick-2.3.0.tgz<br/>cd imagick-2.3.0/<br/>/usr/local/php/bin/phpize<br/>./configure --with-php-config=/usr/local/php/bin/php-config<br/>make<br/>make install<br/>cd ../<br/><br/></div><br/><br/>5、修改php.ini文件<br/>　　手工修改：查找/usr/local/php/etc/php.ini中的extension_dir = "./"<br/>　　修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"<br/>　　并在此行后增加以下几行，然后保存：<br/><div class="code"><br/>extension = &quot;memcache.so&quot;<br/>extension = &quot;pdo_mysql.so&quot;<br/>extension = &quot;imagick.so&quot;<br/></div><br/>　　再查找output_buffering = Off<br/>　　修改为output_buffering = On<br/><br/>　　再查找; cgi.fix_pathinfo=0<br/>　　修改为cgi.fix_pathinfo=0，防止Nginx文件类型错误解析漏洞。<br/><br/>　6、配置eAccelerator加速PHP：<br/><br/><div class="code"><br/>mkdir -p /usr/local/eaccelerator_cache<br/>vi /usr/local/php/etc/php.ini<br/><br/></div><br/><br/>按shift+g键跳到配置文件的最末尾，加上以下配置信息：<br/><br/><div class="code"><br/>&#91;eaccelerator&#93;<br/>zend_extension=&quot;/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so&quot;<br/>eaccelerator.shm_size=&quot;64&quot;<br/>eaccelerator.cache_dir=&quot;/usr/local/eaccelerator_cache&quot;<br/>eaccelerator.enable=&quot;1&quot;<br/>eaccelerator.optimizer=&quot;1&quot;<br/>eaccelerator.check_mtime=&quot;1&quot;<br/>eaccelerator.debug=&quot;0&quot;<br/>eaccelerator.filter=&quot;&quot;<br/>eaccelerator.shm_max=&quot;0&quot;<br/>eaccelerator.shm_ttl=&quot;3600&quot;<br/>eaccelerator.shm_prune_period=&quot;3600&quot;<br/>eaccelerator.shm_only=&quot;0&quot;<br/>eaccelerator.compress=&quot;1&quot;<br/>eaccelerator.compress_level=&quot;9&quot;<br/></div><br/><br/>安装Zend Optimizer,32位系统版本<br/><br/><div class="code"><br/>tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz<br/>mkdir -p /usr/local/zend/<br/>cp&nbsp;&nbsp;ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so&nbsp;&nbsp;/usr/local/zend/<br/></div><br/><br/>如果是64位系统,则<br/><br/><div class="code"><br/>tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz<br/>mkdir -p /usr/local/zend/<br/>cp&nbsp;&nbsp;ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so&nbsp;&nbsp;/usr/local/zend/<br/></div><br/><br/>在php.ini最后增加<br/><div class="code"><br/><br/>&#91;Zend&#93;<br/>zend_optimizer.optimization_level=15<br/>zend_extension=/usr/local/zend/ZendOptimizer.so<br/><br/></div><br/><br/><br/>7、创建www用户和组<br/><br/><div class="code"><br/>/usr/sbin/groupadd www<br/>/usr/sbin/useradd -g www www<br/><br/></div><br/><br/>8、创建php-fpm配置文件（php-fpm是为PHP打的一个FastCGI管理补丁，可以平滑变更php.ini配置而无需重启php-cgi）：<br/>　　在/usr/local/php/etc/目录中创建php-fpm.conf文件：<br/><div class="code"><br/>rm -f /usr/local/php/etc/php-fpm.conf<br/>vi /usr/local/php/etc/php-fpm.conf<br/><br/></div><br/><br/>输入以下内容（如果您安装 Nginx + PHP 用于程序调试，请将以下的<value name="display_errors">0</value>改为<value name="display_errors">1</value>，以便显示PHP错误信息，否则，Nginx 会报状态为500的空白错误页）：<br/><div class="code"><br/>&lt;?xml version=&quot;1.0&quot; ?&gt;<br/>&lt;configuration&gt;<br/><br/>&nbsp;&nbsp;All relative paths in this config are relative to php&#039;s install prefix<br/><br/>&nbsp;&nbsp;&lt;section name=&quot;global_options&quot;&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Pid file<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;pid_file&quot;&gt;/usr/local/php/logs/php-fpm.pid&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Error log file<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;error_log&quot;&gt;/usr/local/php/logs/php-fpm.log&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Log level<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;log_level&quot;&gt;notice&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;When this amount of php processes exited with SIGSEGV or SIGBUS ...<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;emergency_restart_threshold&quot;&gt;10&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;... in a less than this interval of time, a graceful restart will be initiated.<br/>&nbsp;&nbsp;&nbsp;&nbsp;Useful to work around accidental curruptions in accelerator&#039;s shared memory.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;emergency_restart_interval&quot;&gt;1m&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Time limit on waiting child&#039;s reaction on signals from master<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;process_control_timeout&quot;&gt;5s&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Set to &#039;no&#039; to debug fpm<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;daemonize&quot;&gt;yes&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&lt;/section&gt;<br/><br/>&nbsp;&nbsp;&lt;workers&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;section name=&quot;pool&quot;&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of pool. Used in logs and stats.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;name&quot;&gt;default&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Address to accept fastcgi requests on.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Valid syntax is &#039;ip.ad.re.ss:port&#039; or just &#039;port&#039; or &#039;/path/to/unix/socket&#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;listen_address&quot;&gt;127.0.0.1:9000&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;listen_options&quot;&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set listen(2) backlog<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;backlog&quot;&gt;-1&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set permissions for unix socket, if one used.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In Linux read/write permissions must be set in order to allow connections from web server.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Many BSD-derrived systems allow connections regardless of permissions.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;owner&quot;&gt;&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;group&quot;&gt;&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;mode&quot;&gt;0666&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Additional php.ini defines, specific to this pool of workers.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;php_defines&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;sendmail_path&quot;&gt;/usr/sbin/sendmail -t -i&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;display_errors&quot;&gt;0&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unix user of processes<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;user&quot;&gt;www&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unix group of processes<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;group&quot;&gt;www&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process manager settings<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;pm&quot;&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets style of controling worker process count.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Valid values are &#039;static&#039; and &#039;apache-like&#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;style&quot;&gt;static&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the limit on the number of simultaneous requests that will be served.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Equivalent to Apache MaxClients directive.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used with any pm_style.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;max_children&quot;&gt;128&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Settings group for &#039;apache-like&#039; pm style<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;apache_like&quot;&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the number of server processes created on startup.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used only when &#039;apache-like&#039; pm_style is selected<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;StartServers&quot;&gt;20&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the desired minimum number of idle server processes.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used only when &#039;apache-like&#039; pm_style is selected<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;MinSpareServers&quot;&gt;5&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the desired maximum number of idle server processes.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used only when &#039;apache-like&#039; pm_style is selected<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;MaxSpareServers&quot;&gt;35&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The timeout (in seconds) for serving a single request after which the worker process will be terminated<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Should be used when &#039;max_execution_time&#039; ini option does not stop script execution for some reason<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;0s&#039; means &#039;off&#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;request_terminate_timeout&quot;&gt;0s&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;0s&#039; means &#039;off&#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;request_slowlog_timeout&quot;&gt;0s&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The log file for slow requests<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;slowlog&quot;&gt;logs/slow.log&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set open file desc rlimit<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;rlimit_files&quot;&gt;65535&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set max core size rlimit<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;rlimit_core&quot;&gt;0&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chroot to this directory at the start, absolute path<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;chroot&quot;&gt;&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chdir to this directory at the start, absolute path<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;chdir&quot;&gt;&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Redirect workers&#039; stdout and stderr into main error log.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If not set, they will be redirected to /dev/null, according to FastCGI specs<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;catch_workers_output&quot;&gt;yes&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;How much requests each process should execute before respawn.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Useful to work around memory leaks in 3rd party libraries.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For endless request processing please specify 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Equivalent to PHP_FCGI_MAX_REQUESTS<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;max_requests&quot;&gt;1024&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Makes sense only with AF_INET listening socket.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;allowed_clients&quot;&gt;127.0.0.1&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pass environment variables like LD_LIBRARY_PATH<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All $VARIABLEs are taken from current environment<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;environment&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;HOSTNAME&quot;&gt;$HOSTNAME&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;PATH&quot;&gt;/usr/local/bin:/usr/bin:/bin&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;TMP&quot;&gt;/tmp&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;TMPDIR&quot;&gt;/tmp&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;TEMP&quot;&gt;/tmp&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;OSTYPE&quot;&gt;$OSTYPE&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;MACHTYPE&quot;&gt;$MACHTYPE&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value name=&quot;MALLOC_CHECK_&quot;&gt;2&lt;/value&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/value&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/section&gt;<br/><br/>&nbsp;&nbsp;&lt;/workers&gt;<br/><br/>&lt;/configuration&gt;<br/><br/></div><br/><br/>9、启动php-cgi进程，监听127.0.0.1的9000端口，进程数为128（如果服务器内存小于3GB，可以只开启64个进程），用户为www：<br/><div class="code"><br/>ulimit -SHn 65535<br/>/usr/local/php/sbin/php-fpm start<br/></div><br/>注：/usr/local/php/sbin/php-fpm还有其他参数，包括：start&#124;stop&#124;quit&#124;restart&#124;reload&#124;logrotate，修改php.ini后不重启php-cgi，重新加载配置文件使用reload。<br/><br/><strong>三、安装Nginx 0.8.46</strong><br/>　　1、安装Nginx所需的pcre库：<br/><br/><div class="code"><br/>tar zxvf pcre-8.10.tar.gz<br/>cd pcre-8.10/<br/>./configure<br/>make &amp;&amp; make install<br/>cd ../<br/><br/></div><br/><br/>2、安装Nginx<br/><div class="code"><br/>tar zxvf nginx-0.8.46.tar.gz<br/>cd nginx-0.8.46/<br/>./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module<br/>make &amp;&amp; make install<br/>cd ../<br/><br/></div><br/><br/>3、创建Nginx配置文件<br/>　　①、在/usr/local/nginx/conf/目录中创建nginx.conf文件：<br/><div class="code"><br/>rm -f /usr/local/nginx/conf/nginx.conf<br/>vi /usr/local/nginx/conf/nginx.conf<br/><br/></div><br/><br/><div class="code"><br/>user&nbsp;&nbsp;www www;<br/><br/>worker_processes 8;<br/><br/>error_log&nbsp;&nbsp;/usr/local/nginx/logs/nginx_error.log&nbsp;&nbsp;crit;<br/><br/>pid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/nginx/nginx.pid;<br/><br/>#Specifies the value for maximum file descriptors that can be opened by this process. <br/>worker_rlimit_nofile 65535;<br/><br/>events <br/>&#123;<br/>&nbsp;&nbsp;use epoll;<br/>&nbsp;&nbsp;worker_connections 65535;<br/>&#125;<br/><br/>http <br/>&#123;<br/>&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mime.types;<br/>&nbsp;&nbsp;default_type&nbsp;&nbsp;application/octet-stream;<br/><br/>&nbsp;&nbsp;#charset&nbsp;&nbsp;gb2312;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;server_names_hash_bucket_size 128;<br/>&nbsp;&nbsp;client_header_buffer_size 32k;<br/>&nbsp;&nbsp;large_client_header_buffers 4 32k;<br/>&nbsp;&nbsp;client_max_body_size 8m;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;sendfile on;<br/>&nbsp;&nbsp;tcp_nopush&nbsp;&nbsp;&nbsp;&nbsp; on;<br/><br/>&nbsp;&nbsp;keepalive_timeout 60;<br/><br/>&nbsp;&nbsp;tcp_nodelay on;<br/><br/>&nbsp;&nbsp;fastcgi_connect_timeout 300;<br/>&nbsp;&nbsp;fastcgi_send_timeout 300;<br/>&nbsp;&nbsp;fastcgi_read_timeout 300;<br/>&nbsp;&nbsp;fastcgi_buffer_size 64k;<br/>&nbsp;&nbsp;fastcgi_buffers 4 64k;<br/>&nbsp;&nbsp;fastcgi_busy_buffers_size 128k;<br/>&nbsp;&nbsp;fastcgi_temp_file_write_size 128k;<br/><br/>&nbsp;&nbsp;gzip on;<br/>&nbsp;&nbsp;gzip_min_length&nbsp;&nbsp;1k;<br/>&nbsp;&nbsp;gzip_buffers&nbsp;&nbsp;&nbsp;&nbsp; 4 16k;<br/>&nbsp;&nbsp;gzip_http_version 1.0;<br/>&nbsp;&nbsp;gzip_comp_level 2;<br/>&nbsp;&nbsp;gzip_types&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text/plain application/x-javascript text/css application/xml;<br/>&nbsp;&nbsp;gzip_vary on;<br/><br/>&nbsp;&nbsp;#limit_zone&nbsp;&nbsp;crawler&nbsp;&nbsp;$binary_remote_addr&nbsp;&nbsp;10m;<br/><br/>&nbsp;&nbsp;server<br/>&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;<br/>&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;blog.s135.com;<br/>&nbsp;&nbsp;&nbsp;&nbsp;index index.html index.htm index.php;<br/>&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;/data0/htdocs/blog;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;#limit_conn&nbsp;&nbsp; crawler&nbsp;&nbsp;20;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*&#92;.(php&#124;php5)?$<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#fastcgi_pass&nbsp;&nbsp;unix:/tmp/php-cgi.sock;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_pass&nbsp;&nbsp;127.0.0.1:9000;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_index index.php;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include fcgi.conf;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*&#92;.(gif&#124;jpg&#124;jpeg&#124;png&#124;bmp&#124;swf)$<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expires&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30d;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*&#92;.(js&#124;css)?$<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expires&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1h;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;log_format&nbsp;&nbsp;access&nbsp;&nbsp;&#039;$remote_addr - $remote_user &#91;$time_local&#93; &quot;$request&quot; &#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;$status $body_bytes_sent &quot;$http_referer&quot; &#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;&quot;$http_user_agent&quot; $http_x_forwarded_for&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;access_log&nbsp;&nbsp;/data1/logs/access.log&nbsp;&nbsp;access;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;server<br/>&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;<br/>&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;www.domain.com;<br/>&nbsp;&nbsp;&nbsp;&nbsp;index index.html index.htm index.php;<br/>&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;/home/www;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*&#92;.(php&#124;php5)?$<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#fastcgi_pass&nbsp;&nbsp;unix:/tmp/php-cgi.sock;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_pass&nbsp;&nbsp;127.0.0.1:9000;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_index index.php;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include fcgi.conf;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;log_format&nbsp;&nbsp;wwwlogs&nbsp;&nbsp;&#039;$remote_addr - $remote_user &#91;$time_local&#93; &quot;$request&quot; &#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#039;$status $body_bytes_sent &quot;$http_referer&quot; &#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#039;&quot;$http_user_agent&quot; $http_x_forwarded_for&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;access_log&nbsp;&nbsp;/data/logs/wwwlogs.log&nbsp;&nbsp;wwwlogs;<br/>&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;server<br/>&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;80;<br/>&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;status.domain.com;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;location / &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;stub_status on;<br/>&nbsp;&nbsp;&nbsp;&nbsp;access_log&nbsp;&nbsp; off;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&#125;<br/>&#125;<br/><br/></div><br/><br/>②、在/usr/local/nginx/conf/目录中创建fcgi.conf文件：<br/><div class="code"><br/>vi /usr/local/nginx/conf/fcgi.conf<br/></div><br/><br/><div class="code"><br/>fastcgi_param&nbsp;&nbsp;GATEWAY_INTERFACE&nbsp;&nbsp;CGI/1.1;<br/>fastcgi_param&nbsp;&nbsp;SERVER_SOFTWARE&nbsp;&nbsp;&nbsp;&nbsp;nginx;<br/><br/>fastcgi_param&nbsp;&nbsp;QUERY_STRING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $query_string;<br/>fastcgi_param&nbsp;&nbsp;REQUEST_METHOD&nbsp;&nbsp;&nbsp;&nbsp; $request_method;<br/>fastcgi_param&nbsp;&nbsp;CONTENT_TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $content_type;<br/>fastcgi_param&nbsp;&nbsp;CONTENT_LENGTH&nbsp;&nbsp;&nbsp;&nbsp; $content_length;<br/><br/>fastcgi_param&nbsp;&nbsp;SCRIPT_FILENAME&nbsp;&nbsp;&nbsp;&nbsp;$document_root$fastcgi_script_name;<br/>fastcgi_param&nbsp;&nbsp;SCRIPT_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fastcgi_script_name;<br/>fastcgi_param&nbsp;&nbsp;REQUEST_URI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request_uri;<br/>fastcgi_param&nbsp;&nbsp;DOCUMENT_URI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $document_uri;<br/>fastcgi_param&nbsp;&nbsp;DOCUMENT_ROOT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$document_root;<br/>fastcgi_param&nbsp;&nbsp;SERVER_PROTOCOL&nbsp;&nbsp;&nbsp;&nbsp;$server_protocol;<br/><br/>fastcgi_param&nbsp;&nbsp;REMOTE_ADDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$remote_addr;<br/>fastcgi_param&nbsp;&nbsp;REMOTE_PORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$remote_port;<br/>fastcgi_param&nbsp;&nbsp;SERVER_ADDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$server_addr;<br/>fastcgi_param&nbsp;&nbsp;SERVER_PORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$server_port;<br/>fastcgi_param&nbsp;&nbsp;SERVER_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$server_name;<br/><br/># PHP only, required if PHP was built with --enable-force-cgi-redirect<br/>fastcgi_param&nbsp;&nbsp;REDIRECT_STATUS&nbsp;&nbsp;&nbsp;&nbsp;200;<br/></div><br/><br/>5、启动Nginx<br/><div class="code"><br/>ulimit -SHn 65535<br/>/usr/local/nginx/sbin/nginx<br/><br/></div><br/><br/><strong>四、配置开机自动启动Nginx + PHP</strong><br/><div class="code"><br/>vi /etc/rc.local<br/><br/></div><br/>增加<br/><div class="code"><br/><br/>ulimit -SHn 65535<br/>/usr/local/php/sbin/php-fpm start<br/>/usr/local/nginx/sbin/nginx<br/><br/></div><br/><br/><strong>五、优化Linux内核参数</strong><br/><br/>vi /etc/sysctl.conf<br/><br/><div class="code"><br/># Add<br/>net.ipv4.tcp_max_syn_backlog = 65536<br/>net.core.netdev_max_backlog =&nbsp;&nbsp;32768<br/>net.core.somaxconn = 32768<br/><br/>net.core.wmem_default = 8388608<br/>net.core.rmem_default = 8388608<br/>net.core.rmem_max = 16777216<br/>net.core.wmem_max = 16777216<br/><br/>net.ipv4.tcp_timestamps = 0<br/>net.ipv4.tcp_synack_retries = 2<br/>net.ipv4.tcp_syn_retries = 2<br/><br/>net.ipv4.tcp_tw_recycle = 1<br/>#net.ipv4.tcp_tw_len = 1<br/>net.ipv4.tcp_tw_reuse = 1<br/><br/>net.ipv4.tcp_mem = 94500000 915000000 927000000<br/>net.ipv4.tcp_max_orphans = 3276800<br/><br/>#net.ipv4.tcp_fin_timeout = 30<br/>#net.ipv4.tcp_keepalive_time = 120<br/>net.ipv4.ip_local_port_range = 1024&nbsp;&nbsp;65535<br/><br/></div><br/><br/>使配置立即生效：<br/><br/>/sbin/sysctl -p<br/><br/>七、编写每天定时切割Nginx日志的脚本<br/>　　1、创建脚本/usr/local/nginx/sbin/cut_nginx_log.sh<br/>vi /usr/local/webserver/nginx/sbin/cut_nginx_log.sh<br/><br/><div class="code"><br/>#!/bin/bash<br/># This script run at 00:00<br/><br/># The Nginx logs path<br/>logs_path=&quot;/usr/local/webserver/nginx/logs/&quot;<br/><br/>mkdir -p $&#123;logs_path&#125;$(date -d &quot;yesterday&quot; +&quot;%Y&quot;)/$(date -d &quot;yesterday&quot; +&quot;%m&quot;)/<br/>mv $&#123;logs_path&#125;access.log $&#123;logs_path&#125;$(date -d &quot;yesterday&quot; +&quot;%Y&quot;)/$(date -d &quot;yesterday&quot; +&quot;%m&quot;)/access_$(date -d &quot;yesterday&quot; +&quot;%Y%m%d&quot;).log<br/>kill -USR1 `cat /usr/local/nginx/nginx.pid`<br/><br/></div><br/><br/>2、设置crontab，每天凌晨00:00切割nginx访问日志<br/><br/>crontab -e<br/><br/><div class="code"><br/><br/>00 00 * * * /bin/bash&nbsp;&nbsp;/usr/local/nginx/sbin/cut_nginx_log.sh<br/><br/></div><br/>Tags - <a href="http://www.dzhope.com/tags/php/" rel="tag">php</a> , <a href="http://www.dzhope.com/tags/mysql/" rel="tag">mysql</a> , <a href="http://www.dzhope.com/tags/nginx/" rel="tag">nginx</a> , <a href="http://www.dzhope.com/tags/lnmp/" rel="tag">lnmp</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] Nginx 0.8.46 + PHP 5.2.13（FastCGI）+mysql5.5.3打造高性能web服务器]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>