<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LinuxSense &#187; nginx</title>
	<atom:link href="http://www.linuxsense.org/archives/tag/nginx/feed" rel="self" type="application/rss+xml" />
	<link>http://www.linuxsense.org</link>
	<description>分享Linux技术的点点滴滴</description>
	<lastBuildDate>Sat, 01 Aug 2009 05:23:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>解决Nginx+PHP(FastCGI)遇到的502 Bad Gateway错误</title>
		<link>http://www.linuxsense.org/archives/265.html</link>
		<comments>http://www.linuxsense.org/archives/265.html#comments</comments>
		<pubDate>Mon, 11 Aug 2008 01:39:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web构架]]></category>
		<category><![CDATA[502 Bad Gateway]]></category>
		<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.linuxsense.org/?p=265</guid>
		<description><![CDATA[最近几天发现网通线路的服务器出现流量不稳定的情况，具体的表现是，流量时而高，时而低，在流量低的时候发现系统的负载很小，几乎为0，但是过一会，负载又高上去，流量也上去，很是奇怪，查找了2天没有找到原因，后来看到一边文章，介绍了解决nginx出现502的错误现象，按照这个方法进行尝试，最终还是找到了问题的原因。
解决步骤如下：
1、查看当前的PHP FastCGI进程数是否够用：
netstat -anpo &#124; grep &#8220;php-cgi&#8221; &#124; wc -l
　 如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”，那么，说明“FastCGI进程数”不够用，需要增大。
2、部分PHP程序的执行时间超过了Nginx的等待时间，可以适当增加nginx.conf配置文件中FastCGI的timeout时间，例如：
&#8230;&#8230;
http
{
&#8230;&#8230;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
&#8230;&#8230;
}
&#8230;&#8230;
在做第一步的时候，系统当前的PHP FastCGI进程数明显超过了预设值的64这个数值，在电信的服务器上查看当前的PHP FastCGI进程数没有高于64这个数值，而且网通线路的活动连接明显高于电信的活动连接，准备到晚上的时候看看情况，结果到晚上22：30的时候，查看系统当前的PHP FastCGI进程数明显小于64预设值，当前的活动连接也比原来低很多，由此可以说明出现nginx不稳定的情况是由于服务器访问负载过大引起的，就是加上第二步的错误也不顶作用。
总结，php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉，都会出现502错误。
感谢此篇文章的作者，链接为 http://blog.s135.com/read.php/361.htm
]]></description>
			<content:encoded><![CDATA[<p>最近几天发现网通线路的服务器出现流量不稳定的情况，具体的表现是，流量时而高，时而低，在流量低的时候发现系统的负载很小，几乎为0，但是过一会，负载又高上去，流量也上去，很是奇怪，查找了2天没有找到原因，后来看到一边文章，介绍了解决nginx出现502的错误现象，按照这个方法进行尝试，最终还是找到了问题的原因。<br />
解决步骤如下：<br />
1、查看当前的PHP FastCGI进程数是否够用：<br />
netstat -anpo | grep &#8220;php-cgi&#8221; | wc -l<br />
　 如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”，那么，说明“FastCGI进程数”不够用，需要增大。<br />
2、部分PHP程序的执行时间超过了Nginx的等待时间，可以适当增加nginx.conf配置文件中FastCGI的timeout时间，例如：<br />
&#8230;&#8230;<br />
http<br />
{<br />
&#8230;&#8230;<br />
fastcgi_connect_timeout 300;<br />
fastcgi_send_timeout 300;<br />
fastcgi_read_timeout 300;<br />
&#8230;&#8230;<br />
}<br />
&#8230;&#8230;<br />
在做第一步的时候，系统当前的PHP FastCGI进程数明显超过了预设值的64这个数值，在电信的服务器上查看当前的PHP FastCGI进程数没有高于64这个数值，而且网通线路的活动连接明显高于电信的活动连接，准备到晚上的时候看看情况，结果到晚上22：30的时候，查看系统当前的PHP FastCGI进程数明显小于64预设值，当前的活动连接也比原来低很多，由此可以说明出现nginx不稳定的情况是由于服务器访问负载过大引起的，就是加上第二步的错误也不顶作用。<br />
总结，php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉，都会出现502错误。<br />
感谢此篇文章的作者，链接为 http://blog.s135.com/read.php/361.htm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxsense.org/archives/265.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决504 Gateway Time-out(nginx)</title>
		<link>http://www.linuxsense.org/archives/260.html</link>
		<comments>http://www.linuxsense.org/archives/260.html#comments</comments>
		<pubDate>Thu, 07 Aug 2008 06:09:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web构架]]></category>
		<category><![CDATA[504 Gateway Time-out]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.linuxsense.org/?p=260</guid>
		<description><![CDATA[504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站
我遇到这个问题是在升级discuz论坛的时候遇到的
一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out
现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K
默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点
在nginx.conf里, 加入:

fastcgi_buffers 8 128k
这表示设置fastcgi缓冲区为8×128k
当然如果您在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒:

send_timeout 60;
我只是调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错, 但是也可能是由于其他的原因, 目前关于nginx的资料不是很多, 很多事情都需要长期的经验累计才有结果, 期待您的发现哈!


]]></description>
			<content:encoded><![CDATA[<p>504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站<br />
我遇到这个问题是在升级discuz论坛的时候遇到的<br />
一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out<br />
现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K<br />
默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点<br />
在nginx.conf里, 加入:</p>
<blockquote><p>
fastcgi_buffers 8 128k</p></blockquote>
<p>这表示设置fastcgi缓冲区为8×128k<br />
当然如果您在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒:</p>
<blockquote><p>
send_timeout 60;</p></blockquote>
<p>我只是调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错, 但是也可能是由于其他的原因, 目前关于nginx的资料不是很多, 很多事情都需要长期的经验累计才有结果, 期待您的发现哈!</p>
<hr class="noscreen" />
<!-- /article --><!-- Comments --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxsense.org/archives/260.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>针对中小型网站(3000人左右/15分钟)的服务器架构</title>
		<link>http://www.linuxsense.org/archives/183.html</link>
		<comments>http://www.linuxsense.org/archives/183.html#comments</comments>
		<pubDate>Wed, 11 Jun 2008 07:23:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web构架]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[服务器架构]]></category>

		<guid isPermaLink="false">http://www.linuxsense.org/?p=183</guid>
		<description><![CDATA[针对中小型网站(3000人左右/15分钟)的服务器架构
本文涉及的服务器构架主要针对3000人左右/15分钟的中小型网站, 多见于discuz!论坛构建的社区等等
环境为linux(内核2.6+), nginx, php(fastcgi), mysql 等高效开源软件构成, 成本低廉, 是普通个人站长朋友的首选,
但是针对部分企业, 这个方案也是一个非常不错的选择!
至于nginx和apache等web服务器的性能比较这里就不多说了
本文是以实例的方式来描述安装以及配置等情况, 供各位参考
1. 硬件环境
一台web服务器, 一台db服务器, 没有raid
web服务器 至强双核1.60GHz, 2G, 73GSCSI*2
db服务器  至强双核1.60GHz, 2G, 73GSCSI*2
2. 系统环境
CentOS 5.x (内核2.6+)
简单的说下前期工作:安装系统尽可能的精简, 检查系统时间, dmesg看看有无错误, 关闭selinux,ipv6, 升级系统到最新yum -y update
安装如下web环境必要的软件包:
# yum install -y ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel
3. 准备软件
nginx-0.6.31.tar.gz
pcre-7.3.tar.gz
php-5.2.6.tar.bz2
eaccelerator-0.9.5.3.tar.bz2
ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz
lighttpd-1.4.19.tar.bz2
libxml2-2.6.30.tar.gz
libmcrypt-2.5.8.tar.bz2
gd-2.0.34.tar.gz
mysql-5.0.51a-linux-i686-glibc23.tar.gz
以上软件都是目前最新最稳定的版本, 查找和下载以上软件或者更新版本
请在www.google.com输入: 软件全名 intitle:index
一般头几个都是可以下载的, 找个最快的就可以了
&#60;!&#8212;&#8212;&#8212;&#8212;&#8212;以下都是web服务器上的配置&#8212;&#8212;&#8212;&#8212;&#8212;&#62;
4.开始安装环境:
(1)安装gd库
# tar zxvf [...]]]></description>
			<content:encoded><![CDATA[<p>针对中小型网站(3000人左右/15分钟)的服务器架构<br />
本文涉及的服务器构架主要针对3000人左右/15分钟的中小型网站, 多见于discuz!论坛构建的社区等等<br />
环境为linux(内核2.6+), nginx, php(fastcgi), mysql 等高效开源软件构成, 成本低廉, 是普通个人站长朋友的首选,<br />
但是针对部分企业, 这个方案也是一个非常不错的选择!<br />
至于nginx和apache等web服务器的性能比较这里就不多说了<br />
本文是以实例的方式来描述安装以及配置等情况, 供各位参考<br />
1. 硬件环境<br />
一台web服务器, 一台db服务器, 没有raid<br />
web服务器 至强双核1.60GHz, 2G, 73GSCSI*2<br />
db服务器  至强双核1.60GHz, 2G, 73GSCSI*2<br />
2. 系统环境<br />
CentOS 5.x (内核2.6+)<br />
简单的说下前期工作:安装系统尽可能的精简, 检查系统时间, dmesg看看有无错误, 关闭selinux,ipv6, 升级系统到最新yum -y update<br />
安装如下web环境必要的软件包:<br />
# yum install -y ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel<br />
3. 准备软件<br />
nginx-0.6.31.tar.gz<br />
pcre-7.3.tar.gz<br />
php-5.2.6.tar.bz2<br />
eaccelerator-0.9.5.3.tar.bz2<br />
ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz<br />
lighttpd-1.4.19.tar.bz2<br />
libxml2-2.6.30.tar.gz<br />
libmcrypt-2.5.8.tar.bz2<br />
gd-2.0.34.tar.gz<br />
mysql-5.0.51a-linux-i686-glibc23.tar.gz<br />
以上软件都是目前最新最稳定的版本, 查找和下载以上软件或者更新版本<br />
请在<a href="http://www.google.com">www.google.com</a>输入: 软件全名 intitle:index<br />
一般头几个都是可以下载的, 找个最快的就可以了<br />
&lt;!&#8212;&#8212;&#8212;&#8212;&#8212;以下都是web服务器上的配置&#8212;&#8212;&#8212;&#8212;&#8212;&gt;<br />
4.开始安装环境:<br />
(1)安装gd库<br />
# tar zxvf gd-2.0.34.tar.gz<br />
# cd gd-2.0.34<br />
# ./configure &#8211;prefix=/usr/local/gd2<br />
# make<br />
# make install<br />
(2)安装LibXML2<br />
# tar zxvf libxml2-2.6.30.tar.gz<br />
# cd libxml2-2.6.30<br />
# ./configure &#8211;prefix=/usr/local/libxml2<br />
# make<br />
# make install<br />
(3)安装LibMcrypt<br />
# cd /usr/local/src<br />
# tar jxvf libmcrypt-2.5.8.tar.bz2<br />
# cd libmcrypt-2.5.8<br />
# ./configure &#8211;prefix=/usr/local/libmcrypt<br />
# make<br />
# make install</p>
<p>(4)解压mysql-5.0.51a-linux-i686-glibc23.tar.gz, 然后把解开的包里的lib和include目录转移到任意目录, 例如/usr/local/mysql<br />
因为编译php5需要用到mysql的支持(&#8211;with-mysql)<br />
# tar zxvf mysql-5.0.51a-linux-i686-glibc23.tar.gz<br />
# cd mysql-5.0.51a-linux-i686-glibc23<br />
# mkdir -p /user/local/mysql<br />
# mv ./lib ./include /user/local/mysql/<br />
(5)编译php(fastcfi模式)<br />
# ./configure &#8211;prefix=/usr/local/php-fcgi &#8211;enable-fastcgi &#8211;enable-discard-path &#8211;enable-force-cgi-redirect &#8211;with-config-file-path=/usr/local/php-fcgi/etc &#8211;enable-zend-multibyte &#8211;with-mysql=/usr/local/mysql &#8211;with-libxml-dir=/usr/local/libxml2 &#8211;with-gd=/usr/local/gd2 &#8211;with-jpeg-dir &#8211;with-png-dir &#8211;with-bz2 &#8211;with-freetype-dir &#8211;with-iconv-dir &#8211;with-zlib-dir &#8211;with-mcrypt=/usr/local/libmcrypt &#8211;enable-sysvsem &#8211;enable-inline-optimization &#8211;enable-soap &#8211;enable-gd-native-ttf &#8211;enable-ftp &#8211;enable-mbstring &#8211;enable-exif &#8211;disable-debug &#8211;disable-ipv6<br />
# make<br />
# make install<br />
# cp php.ini-dist /usr/local/php-fcgi/etc/php.ini<br />
(6)安装ZendOptimizer<br />
# tar zxvf ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz<br />
# cd ZendOptimizer-3.3.0-linux-glibc21-i386<br />
# ./install<br />
基本上是一直回车, 值得注意一点的是:<br />
当您看到要选择php的路径时就写:<br />
/usr/local/php-fcgi/etc<br />
看到Are you using Apache Web server?<br />
这里要选NO<br />
(7)安装eaccelerator<br />
# tar jxvf eaccelerator-0.9.5.3.tar.bz2<br />
# cd eaccelerator-0.9.5.3<br />
# ./configure &#8211;enable-eaccelerator=shared &#8211;with-php-config=/usr/local/php-fcgi/bin/php-config<br />
# make<br />
# make install<br />
# mkdir /tmp/eaccelerator &amp;&amp; chmod 777 /tmp/eaccelerator &amp;&amp; touch /var/log/eaccelerator_log<br />
编辑php.ini<br />
# vi /usr/local/php-fcgi/etc/php.ini<br />
在最底部加上:<br />
extension=/usr/local/php-fcgi/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so<br />
eaccelerator.shm_size=&#8221;16&#8243;<br />
eaccelerator.cache_dir=&#8221;/tmp/eaccelerator&#8221;<br />
eaccelerator.enable=&#8221;1&#8243;<br />
eaccelerator.optimizer=&#8221;1&#8243;<br />
eaccelerator.check_mtime=&#8221;1&#8243;<br />
eaccelerator.debug=&#8221;0&#8243;<br />
eaccelerator.log_file = &#8220;/var/log/eaccelerator_log&#8221;<br />
eaccelerator.filter=&#8221;"<br />
eaccelerator.shm_max=&#8221;0&#8243;<br />
eaccelerator.shm_ttl=&#8221;0&#8243;<br />
eaccelerator.shm_prune_period=&#8221;0&#8243;<br />
eaccelerator.shm_only=&#8221;0&#8243;<br />
eaccelerator.compress=&#8221;1&#8243;<br />
eaccelerator.compress_level=&#8221;9&#8243;<br />
(8)安装nginx的rewrite模块需要pcre库<br />
# tar zxvf pcre-7.3.tar.gz<br />
# cd pcre-7.3<br />
# ./configure<br />
# make &amp;&amp; make install<br />
(9)安装nginx<br />
# ./configure &#8211;prefix=/usr/local/nginx/ &#8211;with-http_stub_status_module<br />
# make &amp;&amp; make install<br />
(10)编译出lighttpd中附带的spawn-fcgi,它的作用是来启动php-cgi<br />
# tar jxvf lighttpd-1.4.19.tar.bz2<br />
# cd lighttpd-1.4.19<br />
# ./configure<br />
# make<br />
# cp src/spawn-fcgi /usr/local/php-fcgi/bin/<br />
到现在为之, 安装过程已经结束<br />
5.开始配置环境:<br />
# cd /usr/local/nginx/conf<br />
# mkdir vhosts<br />
先备份即将要修改的文件<br />
# cp nginx.conf nginx.conf.bak<br />
# cp fastcgi_params fastcgi_params.bak<br />
# mkdir -p /usr/local/nginx/temp/client_body<br />
# mkdir /usr/local/nginx/var</p>
<p>(1)编辑nginx主配置文件nginx.conf<br />
编辑nginx.conf, 并且把其内容修改为, 最后几行注意自定义一下<br />
daemon on;<br />
worker_processes 4;<br />
worker_cpu_affinity 0001 0010 0100 1000;<br />
error_log /dev/null;<br />
pid var/nginx.pid;<br />
lock_file var/nginx.lock;<br />
events {<br />
    worker_connections  2048;<br />
    use epoll;<br />
    multi_accept on;<br />
}<br />
http {<br />
    include       mime.types;<br />
    default_type  application/octet-stream;<br />
    server_names_hash_max_size 512;<br />
    server_names_hash_bucket_size 128;<br />
    sendfile       on;<br />
    tcp_nopush     on;<br />
    tcp_nodelay    on;<br />
    keepalive_timeout  1;<br />
    client_header_timeout 10;<br />
    client_body_timeout   10;<br />
    client_max_body_size       10m;<br />
    client_body_buffer_size    256k;<br />
    send_timeout          30;<br />
    client_header_buffer_size    1k;<br />
    large_client_header_buffers  4 4k;<br />
    client_body_temp_path  /usr/local/nginx/temp/client_body 1 2;<br />
    gzip on;<br />
    gzip_min_length  1000;<br />
    gzip_buffers     4 8k;<br />
    gzip_http_version 1.1;<br />
    gzip_comp_level 1;<br />
    gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;<br />
    log_format main &#8216;$remote_addr &#8211; $remote_user [$time_local] $request &#8216;<br />
                    &#8216;&#8221;$status&#8221; $body_bytes_sent &#8220;$http_referer&#8221; &#8216;<br />
                    &#8216;&#8221;$http_user_agent&#8221; &#8220;$http_x_forwarded_for&#8221;&#8216;;<br />
    access_log /dev/null;<br />
# 引用你即将要放置的虚拟主机配置文件<br />
    include vhosts/hao32.com;<br />
    include vhosts/linuxsense.org;<br />
}<br />
(2)编辑php在fastcgi模式下的配置文件:<br />
# vi fastcgi_params<br />
内容修改为:<br />
fastcgi_param  QUERY_STRING       $query_string;<br />
fastcgi_param  REQUEST_METHOD     $request_method;<br />
fastcgi_param  CONTENT_TYPE       $content_type;<br />
fastcgi_param  CONTENT_LENGTH     $content_length;<br />
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;<br />
fastcgi_param  REQUEST_URI        $request_uri;<br />
fastcgi_param  DOCUMENT_URI       $document_uri;<br />
fastcgi_param  DOCUMENT_ROOT      $document_root;<br />
fastcgi_param  SERVER_PROTOCOL    $server_protocol;<br />
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;<br />
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;<br />
fastcgi_param  REMOTE_ADDR        $remote_addr;<br />
fastcgi_param  REMOTE_PORT        $remote_port;<br />
fastcgi_param  SERVER_ADDR        $server_addr;<br />
fastcgi_param  SERVER_PORT        $server_port;<br />
fastcgi_param  SERVER_NAME        $server_name;<br />
# PHP only, required if PHP was built with &#8211;enable-force-cgi-redirect<br />
fastcgi_param  REDIRECT_STATUS    200;<br />
(2)编辑虚拟主机的配置文件<br />
# cd vhosts/<br />
# vi hao32.com<br />
添加内容如下<br />
server {<br />
    listen       80;<br />
    server_name  hao32.com <a href="http://www.hao32.com">www.hao32.com</a>;<br />
    # 可以选择打开日志<br />
    #access_log  /var/log/hao32.com/access.log combined buffer=32k;<br />
    #error_log   /var/log/hao32.com/error.log warn;<br />
    location / {<br />
         index           index.html index.htm index.php;<br />
         root            /www/wwwroot/hao32.com;<br />
        location ~ \.php$ {<br />
                include fastcgi_params;<br />
                fastcgi_index index.php;<br />
                fastcgi_pass  127.0.0.1:8407;<br />
                fastcgi_param SCRIPT_FILENAME /www/wwwroot/hao32.com$fastcgi_script_name;<br />
        }<br />
    location /hao32-status {<br />
         stub_status on;<br />
         access_log  off;<br />
    }<br />
}<br />
# vi linuxsense.org<br />
添加内容如下, 这是一个带有discuz!默认rewrite规则的主机事例<br />
server {<br />
    listen       80;<br />
    server_name  linuxsense.org <a href="http://www.linuxsense.org">www.linuxsense.org</a>;<br />
    # 可以选择打开日志<br />
    #access_log  /var/log/linuxsense.org/access.log combined buffer=32k;<br />
    #error_log   /var/log/linuxsense.org/error.log warn;<br />
    location / {<br />
         index           index.html index.htm index.php;<br />
         root            /www/wwwroot/linuxsense.org;<br />
         rewrite ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2 last;<br />
         rewrite ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&amp;page=$3 last;<br />
         rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&amp;extra=page\%3D$4&amp;page=$3 last;<br />
         rewrite ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro.php?$2=$3 last;<br />
         rewrite ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3 last;<br />
         rewrite ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2 last;<br />
         location ~ \.php$ {<br />
                include fastcgi_params;<br />
                fastcgi_index index.php;<br />
                fastcgi_pass  127.0.0.1:8408;<br />
                fastcgi_param SCRIPT_FILENAME /www/wwwroot/linuxsense.org$fastcgi_script_name;<br />
         }<br />
    location /linuxsense-status {<br />
         stub_status on;<br />
         access_log  off;<br />
    }<br />
}<br />
(3)增加网站用户<br />
useradd hao32 -d /www/wwwroot/hao32.com -s /sbin/nologin<br />
useradd linuxsense -d /www/wwwroot/linuxsense.org -s /sbin/nologin<br />
如果参数-d后的路径本身就存在, 会提示<br />
useradd: warning: the home directory already exists.<br />
Not copying any file from skel directory into it.<br />
这并不影响,<br />
chown -R hao32:hao32 /www/wwwroot/hao32.com<br />
chown -R linuxsense:linuxsense /www/wwwroot/linuxsense<br />
(5)创建一个要等会要使用的用户列表USER_LIST<br />
格式如下<br />
去掉-a -p -C -u -f等参数, 分表是本机php要使用的ip地址, 端口, 用户<br />
注意, 如果有两个用户就要两行, 主要不要有空白行<br />
-a 127.0.0.1 -p 8407 -C 20 -u hao32 -f<br />
-a 127.0.0.1 -p 8408 -C 200 -u linuxsense -f<br />
(6)制作php-cgi,nginx等启动脚本, 并加入系统服务<br />
# vi /etc/init.d/php-cgi<br />
# chmod 755 /etc/init.d/php-cgi<br />
编辑php-cgi启动脚本, 加入以下代码:<br />
#!/bin/bash<br />
#<br />
# PHP-FastCGI Control Script for Red Hat based Linux.<br />
# Written by hao32<br />
# chkconfig: 3 89 89<br />
# description: PHP Fast-CGI<br />
# PHP Users Settings<br />
USER_INFO=&#8221;/usr/local/nginx/conf/vhosts/USER_LIST&#8221;<br />
# Source Function Library<br />
. /etc/init.d/functions</p>
<p>PHP_SPAWN=&#8221;/usr/local/php-fcgi/bin/spawn-fcgi&#8221;<br />
PHP_SBIN=&#8221;/usr/local/php-fcgi/bin/php-cgi&#8221;<br />
PHP_PID=&#8221;/usr/local/nginx/var/php-fcgi.pid&#8221;</p>
<p>RETVAL=0<br />
prog=&#8221;PHP FastCGI&#8221;<br />
mkdir -p /var/run/php-fcgi 2&gt; /dev/null<br />
start() {<br />
        echo -n $&#8221;Starting $prog: &#8221;<br />
        cat $USER_INFO | while read list<br />
        do<br />
                daemon $PHP_SPAWN $list $PHP_SBIN<br />
        done<br />
        RETVAL=$?<br />
        if [ $RETVAL -eq 0 ]<br />
        then<br />
                touch /var/lock/subsys/php-fcgi<br />
        fi<br />
        echo<br />
        return $RETVAL<br />
}<br />
stop() {<br />
        echo -n $&#8221;Stopping $prog: &#8221;<br />
        killproc php-cgi<br />
        RETVAL=$?<br />
        if [ $RETVAL -eq 0 ]<br />
        then<br />
                rm -f /var/lock/subsys/php-fcgi<br />
        fi<br />
        echo<br />
        return $RETVAL<br />
}<br />
restart() {<br />
        stop<br />
        echo -ne &#8220;Restart&#8230;\n&#8221;<br />
        sleep 3<br />
        start<br />
}<br />
case &#8220;$1&#8243; in<br />
        start)<br />
                start<br />
                ;;<br />
        stop)<br />
                stop<br />
                ;;<br />
        restart)<br />
                restart<br />
                ;;<br />
        *)<br />
                echo $&#8221;Usage: $0 {start|stop|restart}&#8221;<br />
                RETVAL=1<br />
esac<br />
exit $RETVAL</p>
<p># vi /etc/init.d/nginx<br />
# chmod 755 /etc/init.d/nginx<br />
编辑nginx启动脚本, 加入以下代码<br />
#!/bin/bash<br />
#<br />
# Nginx Control Script for Red Hat based Linux.<br />
# chkconfig: 3 90 90<br />
# description: Nginx Web Server Control<br />
# Source Function Library<br />
. /etc/init.d/functions<br />
       <br />
# Nginx Settings<br />
NGINX_SBIN=&#8221;/usr/local/nginx/sbin/nginx&#8221;<br />
NGINX_CONF=&#8221;/usr/local/nginx/conf/nginx.conf&#8221;<br />
NGINX_PID=&#8221;/usr/local/nginx/var/nginx.pid&#8221;<br />
               <br />
RETVAL=0<br />
prog=&#8221;nginx&#8221;<br />
mkdir -p /var/run/nginx 2&gt; /dev/null<br />
       <br />
start() {<br />
        echo -n $&#8221;Starting $prog: &#8221;<br />
        daemon $NGINX_SBIN -c $NGINX_CONF<br />
        RETVAL=$?<br />
        if [ $RETVAL -eq 0 ]<br />
        then<br />
                touch /var/lock/subsys/nginx<br />
        fi<br />
        echo   <br />
        return $RETVAL<br />
}<br />
       <br />
stop() {<br />
        echo -n $&#8221;Stopping $prog: &#8221;<br />
        killproc -p $NGINX_PID $NGINX_SBIN -TERM<br />
        RETVAL=$?<br />
        if [ $RETVAL -eq 0 ]<br />
        then<br />
                rm -f /var/lock/subsys/nginx<br />
        fi<br />
        echo<br />
        return $RETVAL<br />
}<br />
reload() {<br />
        echo -n $&#8221;Reloading $prog: &#8221;<br />
        killproc -p $NGINX_PID $NGINX_SBIN -HUP<br />
        RETVAL=$?<br />
        echo<br />
        return $RETVAL<br />
}<br />
restart() {<br />
        stop<br />
        start<br />
}<br />
configtest() {<br />
        $NGINX_SBIN -c $NGINX_CONF -t<br />
        exit<br />
}<br />
case &#8220;$1&#8243; in<br />
        start)<br />
                start<br />
                ;;<br />
        stop)<br />
                stop<br />
                ;;<br />
        reload)<br />
                reload<br />
                ;;<br />
        restart)<br />
                restart<br />
                ;;<br />
        configtest)<br />
                configtest<br />
                ;;<br />
        *)<br />
                echo $&#8221;Usage: $0 {start|stop|reload|restart|configtest}&#8221;<br />
                RETVAL=1<br />
esac<br />
exit $RETVAL</p>
<p>增加到系统服务器<br />
chkconfig &#8211;add nginx<br />
chkconfig &#8211;add php-cgi</p>
<p>现在可以启动php-cgi和nginx了<br />
service nginx start<br />
service php-cgi start<br />
重启动使用restart<br />
&lt;!&#8212;&#8212;&#8212;&#8212;&#8212;以上都是web服务器上的配置&#8212;&#8212;&#8212;&#8212;&#8212;&gt;<br />
&lt;!&#8212;&#8212;&#8212;&#8212;&#8212;以下都是db服务器上的配置&#8212;&#8212;&#8212;&#8212;&#8212;&gt;<br />
开始安装配置mysql<br />
# tar zxvf mysql-5.0.51a-linux-i686-glibc23.tar.gz<br />
# mv mysql-5.0.51a-linux-i686-glibc23 /usr/local/<br />
# ln -s /usr/local/mysql-5.0.51a-linux-i686-glibc23 /usr/local/mysql<br />
# useradd mysql<br />
# chown -R mysql:root  /usr/local/mysql/<br />
# cd /usr/local/mysql<br />
# ./scripts/mysql_install_db  &#8211;user=mysql<br />
# cp ./support-files/mysql.server  /etc/rc.d/init.d/mysqld<br />
# chmod 755 /etc/rc.d/init.d/mysqld<br />
# chkconfig &#8211;add mysqld<br />
# chkconfig &#8211;level 3 mysqld on<br />
# cp ./support-files/my-huge.cnf  /etc/my.cnf<br />
# mv /usr/local/mysql/data /var/lib/mysql<br />
# chown -R mysql:mysql /var/lib/mysql<br />
# cd /usr/local/mysql/bin<br />
# for i in *; do ln -s /usr/local/mysql/bin/$i /usr/bin/$i; done<br />
编辑/etc/my.cnf<br />
内容为:<br />
[client]<br />
port            = 3306<br />
socket          = /tmp/mysql.sock<br />
[mysqld]<br />
port            = 3306<br />
socket          = /tmp/mysql.sock<br />
max_connections = 1024<br />
# max_user_connections = 40<br />
skip-innodb<br />
#skip-network<br />
#skip-bdb<br />
datadir = /var/lib/mysql<br />
default-character-set=utf8<br />
long_query_time = 5<br />
log-slow-queries = /var/lib/mysql/slow_queries<br />
wait_timeout = 5<br />
thread_stack=128K<br />
interactive_timeout = 20<br />
skip-locking<br />
key_buffer = 256M<br />
max_allowed_packet = 2M<br />
table_cache = 512<br />
sort_buffer_size = 2M<br />
read_buffer_size = 2M<br />
read_rnd_buffer_size = 8M<br />
myisam_sort_buffer_size = 64M<br />
thread_cache_size = 8<br />
query_cache_size = 32M<br />
# Try number of CPU&#8217;s*2 for thread_concurrency<br />
thread_concurrency = 8<br />
log-bin=mysql-bin<br />
server-id       = 1<br />
[mysql]<br />
default-character-set=utf8<br />
在本机上登陆mysql<br />
# mysql -uroot<br />
mysql&gt;<br />
输入一下内(可以复制粘贴啊), 增加一个可以远程连接的用户, 本例用户是hao32, 密码是:hao32.com<br />
然后在web服务器上使用诸如phpmyadmin等软件连接上本台db服务器, 删增相应的用户<br />
INSERT INTO `mysql`.`user` (<br />
`Host` ,<br />
`User` ,<br />
`Password` ,<br />
`Select_priv` ,<br />
`Insert_priv` ,<br />
`Update_priv` ,<br />
`Delete_priv` ,<br />
`Create_priv` ,<br />
`Drop_priv` ,<br />
`Reload_priv` ,<br />
`Shutdown_priv` ,<br />
`Process_priv` ,<br />
`File_priv` ,<br />
`Grant_priv` ,<br />
`References_priv` ,<br />
`Index_priv` ,<br />
`Alter_priv` ,<br />
`Show_db_priv` ,<br />
`Super_priv` ,<br />
`Create_tmp_table_priv` ,<br />
`Lock_tables_priv` ,<br />
`Execute_priv` ,<br />
`Repl_slave_priv` ,<br />
`Repl_client_priv` ,<br />
`Create_view_priv` ,<br />
`Show_view_priv` ,<br />
`Create_routine_priv` ,<br />
`Alter_routine_priv` ,<br />
`Create_user_priv` ,<br />
`ssl_type` ,<br />
`max_questions` ,<br />
`max_updates` ,<br />
`max_connections` ,<br />
`max_user_connections`<br />
)<br />
VALUES (<br />
&#8216;%&#8217;, &#8216;hao32&#8242;, PASSWORD( &#8216;hao32.com&#8217; ) , &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8216;Y&#8217;, &#8221;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;<br />
);<br />
&lt;!&#8212;&#8212;&#8212;&#8212;&#8212;以上都是db服务器上的配置&#8212;&#8212;&#8212;&#8212;&#8212;&gt;<br />
完毕!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxsense.org/archives/183.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
