<?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>小生同学的碎碎念 &#187; nginx</title>
	<atom:link href="http://www.chenxiaosheng.com/tag/nginx/feed" rel="self" type="application/rss+xml" />
	<link>http://www.chenxiaosheng.com</link>
	<description></description>
	<lastBuildDate>Thu, 02 Sep 2010 06:43:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Debian平台搭建基于nginx + Django的WEB站点</title>
		<link>http://www.chenxiaosheng.com/2009/09/14/156.html</link>
		<comments>http://www.chenxiaosheng.com/2009/09/14/156.html#comments</comments>
		<pubDate>Mon, 14 Sep 2009 14:21:31 +0000</pubDate>
		<dc:creator>陈小生</dc:creator>
				<category><![CDATA[工作]]></category>
		<category><![CDATA[技术相关]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[fastcgi]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.chenxiaosheng.com/?p=156</guid>
		<description><![CDATA[今天有位同事让我把一个系统的Apache + Django站点换成nginx + Django站点，刚好由于我的这个站点用的虚拟主机，由于内存比较小，所以之前自己刚好搭个，顺手翻出旧的记录，整理一下，在这里做一份保存 在Debian上的nginx安装相当容易，这里不废话，只是版本比较低，是0.6x的，如果需要最新版本，就自己编译吧，主要是用fastcgi跑django project，要安装flup，可以apt-get install python-flup搞定，至于如何使用fastcgi跑django project，请参考此页面 这里引用一部份： Running a threaded server on a TCP port: ./manage.py runfcgi method=threaded host=127.0.0.1 port=3033 Running a preforked server on a Unix domain socket: ./manage.py runfcgi method=prefork socket=/home/user/mysite.sock pidfile=django.pid Run without daemonizing (backgrounding) the process (good for debugging): ./manage.py runfcgi daemonize=false socket=/tmp/mysite.sock maxrequests=1 接下来就是nginx的配置了，Debian的配置文件有自己的一套规则，这里我们需要修改/etc/nginx/sites-available/default这个文件，当然可以另起一个，比如/etc/nginx/sites-available/mysite 主要是配置server段，其中的location /节，这里我的配置文件如下: [...]]]></description>
			<content:encoded><![CDATA[<p>今天有位同事让我把一个系统的Apache + Django站点换成nginx + Django站点，刚好由于我的这个站点用的虚拟主机，由于内存比较小，所以之前自己刚好搭个，顺手翻出旧的记录，整理一下，在这里做一份保存</p>
<p>在Debian上的nginx安装相当容易，这里不废话，只是版本比较低，是0.6x的，如果需要最新版本，就自己编译吧，主要是用fastcgi跑django project，要安装flup，可以apt-get install python-flup搞定，至于如何使用fastcgi跑django project，请<a title="docs.djangoproject.com" href="http://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/">参考此页面</a></p>
<p>这里引用一部份：</p>
<blockquote><p>Running a threaded server on a TCP port:</p>
<p><strong>./manage.py runfcgi method=threaded host=127.0.0.1 port=3033</strong></p>
<p>Running a preforked server on a Unix domain socket:</p>
<p><strong>./manage.py runfcgi method=prefork socket=/home/user/mysite.sock pidfile=django.pid</strong></p>
<p>Run without daemonizing (backgrounding) the process (good for debugging):</p>
<p><strong>./manage.py runfcgi daemonize=false socket=/tmp/mysite.sock maxrequests=1<span id="more-156"></span></strong></p></blockquote>
<p>接下来就是nginx的配置了，Debian的配置文件有自己的一套规则，这里我们需要修改/etc/nginx/sites-available/default这个文件，当然可以另起一个，比如/etc/nginx/sites-available/mysite</p>
<p>主要是配置server段，其中的location /节，这里我的配置文件如下:</p>
<blockquote><p>server {</p>
<p>listen   80;</p>
<p>server_name  localhost;</p>
<p>#这里我关闭了access_log</p>
<p>#access_log  /var/log/nginx/localhost.access.log;</p>
<p>location / {</p>
<p>#下面这句如果你是使用tcp socket的话，请换成</p>
<p># fastcgi_pass host:port;</p>
<p># 其中host/port是在使用fastcgi运行django时指定的</p>
<p># 在高负载时使用unix socket效率会比tcp socket好</p>
<p>fastcgi_pass unix:/home/www-data/logs/pyeye.socket;</p>
<p>fastcgi_param PATH_INFO $fastcgi_script_name;</p>
<p>fastcgi_param REQUEST_METHOD $request_method;</p>
<p>fastcgi_param QUERY_STRING $query_string;</p>
<p>fastcgi_param CONTENT_TYPE $content_type;</p>
<p>fastcgi_param CONTENT_LENGTH $content_length;</p>
<p>fastcgi_pass_header Authorization;</p>
<p>fastcgi_param REMOTE_ADDR           $remote_addr;</p>
<p>fastcgi_param SERVER_PROTOCOL       $server_protocol;</p>
<p>fastcgi_param SERVER_PORT           $server_port;</p>
<p>fastcgi_param SERVER_NAME           $server_name;</p>
<p>fastcgi_intercept_errors off;</p>
<p>}</p>
<p>#下面是两个静态文件目录的配置，这根据需要自行变更</p>
<p>location ^~/media {</p>
<p>alias /home/www-data/htdocs/pyeye/media;</p>
<p>}</p>
<p>location ^~/adminmedia {</p>
<p>alias /home/www-data/lib/django/contrib/admin/media;</p>
<p>}</p>
<p>error_page   500 502 503 504  /50x.html;</p>
<p>location = /50x.html {</p>
<p>root   /var/www/nginx-default;</p>
<p>}</p></blockquote>
<p>配置文件修改好后，记得到/etc/nginx/sites-enabled目录建立一个到此配置文件的软链接</p>
<p>之后就可以使用/etc/init.d/nginx restart了</p>
<p><strong>补充：</strong></p>
<p>有时候我发现使用/etc/init.d/nginx并不能很好的控制nginx，所以还是使用kill &lt;signal&gt; nginx-pid来控制好一点,比如我执行ps auxww | grep nginx有如下内容：</p>
<blockquote><p>tiredboy  1059  0.0  0.0   4524   728 pts/0    S+   22:15   0:00 grep nginx<br />
root     30113  0.0  0.0   4416   612 ?        Ss   11:53   0:00 nginx: master process /usr/sbin/nginx<br />
www-data 30114  0.0  0.0   5008  1564 ?        S    11:53   0:00 nginx: worker process</p></blockquote>
<p>这个时候找到nginx:master process这一行，pid是30113，我希望nginx能重新加载配置，则只需要执行</p>
<blockquote><p>kill -HUP 30113</p></blockquote>
<p>就可以了</p>
<h3  class="related_post_title">您可能还会对以下文章感兴趣：</h3><ul class="related_post"><li><a href="http://www.chenxiaosheng.com/2009/08/02/12.html" title="启用以自已名字为域名的博客">启用以自已名字为域名的博客</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chenxiaosheng.com/2009/09/14/156.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>启用以自已名字为域名的博客</title>
		<link>http://www.chenxiaosheng.com/2009/08/02/12.html</link>
		<comments>http://www.chenxiaosheng.com/2009/08/02/12.html#comments</comments>
		<pubDate>Sun, 02 Aug 2009 12:49:33 +0000</pubDate>
		<dc:creator>陈小生</dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[杂七杂八]]></category>

		<guid isPermaLink="false">http://www.chenxiaosheng.com/?p=12</guid>
		<description><![CDATA[blogger,blogspot等等相继被封，不习惯blog.163.com和Qzone以及其它SNS的喧嚣，决定以自己的姓名申请一个域名，很庆幸，我的名字虽然“邪恶”，却不算值钱，暂时没被人盯上，自然而然也到了我的手上，花了我7.2刀啊，我的心挖凉挖凉的。。个人博客算是wordpress最人性化也最具定制性了，所以当然是首选了，基本没什么难度。。唯一的问题是设置固定链接时，总是提示404，Google了一下大概是nginx未设置rewrite的原因，在nginx.conf添加如下内容再reload后世界和平了～～～ if (!-e $request_filename) { rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last; rewrite ^([_0-9a-zA-Z-]+)?(/.*.php)$ $2 last; rewrite ^ /index.php last; } 您可能还会对以下文章感兴趣：Debian平台搭建基于nginx + Django的WEB站点丹麦FreeBSD开发者因“微软税”起诉联想杭州又出车祸？工作两周年了GFW，我真的是有很大意见]]></description>
			<content:encoded><![CDATA[<p>blogger,blogspot等等相继被封，不习惯blog.163.com和Qzone以及其它SNS的喧嚣，决定以自己的姓名申请一个域名，很庆幸，我的名字虽然“邪恶”，却不算值钱，暂时没被人盯上，自然而然也到了我的手上，花了我7.2刀啊，我的心挖凉挖凉的。。个人博客算是wordpress最人性化也最具定制性了，所以当然是首选了，基本没什么难度。。唯一的问题是设置固定链接时，总是提示404，Google了一下大概是nginx未设置rewrite的原因，在nginx.conf添加如下内容再reload后世界和平了～～～</p>
<blockquote><p>if (!-e $request_filename) {<br />
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;<br />
rewrite ^([_0-9a-zA-Z-]+)?(/.*.php)$ $2 last;<br />
rewrite ^ /index.php last;<br />
}</p></blockquote>
<h3  class="related_post_title">您可能还会对以下文章感兴趣：</h3><ul class="related_post"><li><a href="http://www.chenxiaosheng.com/2009/09/14/156.html" title="Debian平台搭建基于nginx + Django的WEB站点">Debian平台搭建基于nginx + Django的WEB站点</a></li><li><a href="http://www.chenxiaosheng.com/2009/08/16/56.html" title="丹麦FreeBSD开发者因“微软税”起诉联想">丹麦FreeBSD开发者因“微软税”起诉联想</a></li><li><a href="http://www.chenxiaosheng.com/2009/08/06/32.html" title="杭州又出车祸？">杭州又出车祸？</a></li><li><a href="http://www.chenxiaosheng.com/2009/08/04/30.html" title="工作两周年了">工作两周年了</a></li><li><a href="http://www.chenxiaosheng.com/2009/08/02/20.html" title="GFW，我真的是有很大意见">GFW，我真的是有很大意见</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chenxiaosheng.com/2009/08/02/12.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
