<?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>tech.nocr.at &#187; nginx</title> <atom:link href="http://tech.nocr.at/tag/nginx/feed/" rel="self" type="application/rss+xml" /><link>http://tech.nocr.at</link> <description>gadget.hacking.gaming.geek.tech</description> <lastBuildDate>Sun, 29 Jan 2012 07:25:13 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Hotlink Prevention In Nginx</title><link>http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/</link> <comments>http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/#comments</comments> <pubDate>Mon, 03 Jan 2011 05:52:59 +0000</pubDate> <dc:creator>Frank</dc:creator> <category><![CDATA[Hacking And Security]]></category> <category><![CDATA[ac]]></category> <category><![CDATA[band]]></category> <category><![CDATA[cat]]></category> <category><![CDATA[display]]></category> <category><![CDATA[ds]]></category> <category><![CDATA[ea]]></category> <category><![CDATA[error]]></category> <category><![CDATA[follow]]></category> <category><![CDATA[google]]></category> <category><![CDATA[holidays]]></category> <category><![CDATA[hotlink]]></category> <category><![CDATA[id]]></category> <category><![CDATA[images]]></category> <category><![CDATA[ir]]></category> <category><![CDATA[led]]></category> <category><![CDATA[leech]]></category> <category><![CDATA[loa]]></category> <category><![CDATA[lock]]></category> <category><![CDATA[mini]]></category> <category><![CDATA[nginx]]></category> <category><![CDATA[os]]></category> <category><![CDATA[pen]]></category> <category><![CDATA[press]]></category> <category><![CDATA[root]]></category> <category><![CDATA[server]]></category> <category><![CDATA[small]]></category> <category><![CDATA[tech.nocr.at]]></category> <category><![CDATA[time]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wrong]]></category> <category><![CDATA[yahoo]]></category> <guid
isPermaLink="false">http://tech.nocr.at/?p=2348</guid> <description><![CDATA[Hotlinking, inline linking, leeching, piggy-backing, direct linking or offsite image grabs. No matter what you call it 99% of the time it&#8217;s wrong. Bandwidth costs money. I spent sometime over the holidays examining my logs and noticed that there were a ton of sites hotlinking back to images we had posted. Worst of all, most [...]]]></description> <content:encoded><![CDATA[<div
style="text-align:center;"><img
src="http://tech.nocr.at/wp-content/uploads/2011/01/shotlink.jpg" alt="hotlink.jpg" border="0" width="412" height="235" /></div><p>Hotlinking, inline linking, leeching, piggy-backing, direct linking or offsite image grabs.  No matter what you call it 99% of the time it&#8217;s wrong. Bandwidth costs money.  I spent sometime over the holidays examining my logs and noticed that there were a ton of sites hotlinking back to images we had posted.  Worst of all, most of them were profiting off the images.</p><p>Here at tech.nocr.at we run nginx as a front-end proxy to WordPress.  Stopping hotlinking in nginx is as simple as adding a small snippet of code in your sites-enabled file. Add the following code inside your server statement.</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">location ~<span style="color: #000000; font-weight: bold;">*</span> ^.+\.<span style="color: #7a0874; font-weight: bold;">&#40;</span>jpg<span style="color: #000000; font-weight: bold;">|</span>jpeg<span style="color: #000000; font-weight: bold;">|</span>gif<span style="color: #000000; font-weight: bold;">|</span>png<span style="color: #7a0874; font-weight: bold;">&#41;</span>$ <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  root   <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>webroot;
  valid_referers none blocked server_names ~<span style="color: #7a0874; font-weight: bold;">&#40;</span>yourdomain.com<span style="color: #000000; font-weight: bold;">|</span>google.<span style="color: #000000; font-weight: bold;">|</span>yahoo.<span style="color: #000000; font-weight: bold;">|</span>bing.<span style="color: #7a0874; font-weight: bold;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$invalid_referer</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>  <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  <span style="color: #7a0874; font-weight: bold;">return</span> <span style="color: #000000;">403</span>;
  <span style="color: #7a0874; font-weight: bold;">&#125;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div><p>The above will allow images to be displayed if they come from your domain, google, yahoo and bing.  If you have other sites you might want your images to be linked from just add them in the valid_referers statement. If someone tries to hotlink to one of your images they will receive a 403 error.  If you wish to have a different image displayed instead of the 403 error, letting them know they are hotlinking, then you must replace the return 403; line with this:</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">rewrite  ^  http:<span style="color: #000000; font-weight: bold;">//</span>yourdomain.com<span style="color: #000000; font-weight: bold;">/</span>hotlink.jpe;</pre></div></div><p>Notice how the image file ends in .jpe?  If it were you end in .jpg it would end up in a loop and never be displayed.  Simply create the image you want to use and change it&#8217;s extension to .jpe before you upload it to your web host.</p><p></p><p
style="text-align:right"> <g:plusone size="tall"></g:plusone>  <script type="text/javascript">(function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();</script> <a
href="http://api.tweetmeme.com/share?url=http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/"><img
src="http://api.tweetmeme.com/imagebutton.gif?url=http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/" height="61" width="51" /></a></p><p
style="padding:5px;background:#ffffcc;border:1px solid #ffff99;clear:both"><a
href="http://tech.nocr.at"><img
src="http://tech.nocr.at/images/feed_logo.png" alt="tech.nocr.at" width="16" height="16" border="0" style="float:left;padding:0 5px 5px 0"></a><a
href="http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/">Hotlink Prevention In Nginx</a> originally appeared on <a
href="http://tech.nocr.at">tech.nocr.at</a> on 2011/01/03. Reproduction of content not allowed without consent.<br
style="clear:both"></p><p><small>© <a
href="http://tech.nocr.at">tech.nocr.at</a> 2011 | <a
href="http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/">Permalink</a> | <a
href="http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/#comments">Comments</a> |
Read more in <a
href="http://tech.nocr.at/category/hacking-security/" title="View all posts in Hacking And Security" rel="category tag">Hacking And Security</a> | Explore more in: <a
href="http://tech.nocr.at/tag/ac/" rel="tag">ac</a>, <a
href="http://tech.nocr.at/tag/band/" rel="tag">band</a>, <a
href="http://tech.nocr.at/tag/cat/" rel="tag">cat</a>, <a
href="http://tech.nocr.at/tag/display/" rel="tag">display</a>, <a
href="http://tech.nocr.at/tag/ds/" rel="tag">ds</a>, <a
href="http://tech.nocr.at/tag/ea/" rel="tag">ea</a>, <a
href="http://tech.nocr.at/tag/error/" rel="tag">error</a>, <a
href="http://tech.nocr.at/tag/follow/" rel="tag">follow</a>, <a
href="http://tech.nocr.at/tag/google/" rel="tag">google</a>, <a
href="http://tech.nocr.at/tag/holidays/" rel="tag">holidays</a>, <a
href="http://tech.nocr.at/tag/hotlink/" rel="tag">hotlink</a>, <a
href="http://tech.nocr.at/tag/id/" rel="tag">id</a>, <a
href="http://tech.nocr.at/tag/images/" rel="tag">images</a>, <a
href="http://tech.nocr.at/tag/ir/" rel="tag">ir</a>, <a
href="http://tech.nocr.at/tag/led/" rel="tag">led</a>, <a
href="http://tech.nocr.at/tag/leech/" rel="tag">leech</a>, <a
href="http://tech.nocr.at/tag/loa/" rel="tag">loa</a>, <a
href="http://tech.nocr.at/tag/lock/" rel="tag">lock</a>, <a
href="http://tech.nocr.at/tag/mini/" rel="tag">mini</a>, <a
href="http://tech.nocr.at/tag/nginx/" rel="tag">nginx</a>, <a
href="http://tech.nocr.at/tag/os/" rel="tag">os</a>, <a
href="http://tech.nocr.at/tag/pen/" rel="tag">pen</a>, <a
href="http://tech.nocr.at/tag/press/" rel="tag">press</a>, <a
href="http://tech.nocr.at/tag/root/" rel="tag">root</a>, <a
href="http://tech.nocr.at/tag/server/" rel="tag">server</a>, <a
href="http://tech.nocr.at/tag/small/" rel="tag">small</a>, <a
href="http://tech.nocr.at/tag/tech-nocr-at/" rel="tag">tech.nocr.at</a>, <a
href="http://tech.nocr.at/tag/time/" rel="tag">time</a>, <a
href="http://tech.nocr.at/tag/wordpress/" rel="tag">wordpress</a>, <a
href="http://tech.nocr.at/tag/wrong/" rel="tag">wrong</a>, <a
href="http://tech.nocr.at/tag/yahoo/" rel="tag">yahoo</a> | <a
href="http://del.icio.us/post?url=http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/&title=Hotlink Prevention In Nginx">Add to del.icio.us</a> | <a
href="http://www.stumbleupon.com/submit?url=http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/&title=Hotlink Prevention In Nginx">Stumble it</a> | <a
href="http://reddit.com/submit?url=http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/&title=Hotlink Prevention In Nginx">Reddit</a> </small></p>]]></content:encoded> <wfw:commentRss>http://tech.nocr.at/hacking-security/hotlink-prevention-in-nginx/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Top 10 Of 2010</title><link>http://tech.nocr.at/tech/top-10-of-2010/</link> <comments>http://tech.nocr.at/tech/top-10-of-2010/#comments</comments> <pubDate>Wed, 29 Dec 2010 05:51:37 +0000</pubDate> <dc:creator>Frank</dc:creator> <category><![CDATA[Tech News]]></category> <category><![CDATA[2010]]></category> <category><![CDATA[ac]]></category> <category><![CDATA[cable]]></category> <category><![CDATA[cat]]></category> <category><![CDATA[comments]]></category> <category><![CDATA[distro]]></category> <category><![CDATA[diy]]></category> <category><![CDATA[door]]></category> <category><![CDATA[ds]]></category> <category><![CDATA[ea]]></category> <category><![CDATA[game]]></category> <category><![CDATA[Gaming]]></category> <category><![CDATA[id]]></category> <category><![CDATA[ipod]]></category> <category><![CDATA[key]]></category> <category><![CDATA[keys]]></category> <category><![CDATA[knock]]></category> <category><![CDATA[led]]></category> <category><![CDATA[leech]]></category> <category><![CDATA[linux]]></category> <category><![CDATA[loa]]></category> <category><![CDATA[lock]]></category> <category><![CDATA[mobile]]></category> <category><![CDATA[nginx]]></category> <category><![CDATA[open]]></category> <category><![CDATA[os]]></category> <category><![CDATA[pen]]></category> <category><![CDATA[press]]></category> <category><![CDATA[ring]]></category> <category><![CDATA[rip]]></category> <category><![CDATA[secret]]></category> <category><![CDATA[sega]]></category> <category><![CDATA[shuffle]]></category> <category><![CDATA[speed]]></category> <category><![CDATA[tech.nocr.at]]></category> <category><![CDATA[technology]]></category> <category><![CDATA[vga]]></category> <category><![CDATA[wifi]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp super cache]]></category> <guid
isPermaLink="false">http://tech.nocr.at/tech/top-10-of-2010/</guid> <description><![CDATA[Another year is almost behind us and thanks to our dedicated and loyal readers our 3rd successful year bringing you the latest in gadgets, gaming, technology and the bizarre. We have brought the monkeys in (by monkeys we mean a crafty worded perl script) and have compiled the the most viewed posts here on tech.nocr.at. [...]]]></description> <content:encoded><![CDATA[<p><center><img
src="http://tech.nocr.at/wp-content/uploads/2010/12/technocrat_top10.png" width="470" height="264" alt="technocrat_top10.png" class="captionfull" /></center></p><p>Another year is almost behind us and thanks to our dedicated and loyal readers our 3rd successful year bringing you the latest in gadgets, gaming, technology and the bizarre.</p><p>We have brought the monkeys in (by monkeys we mean a crafty worded perl script) and have compiled the the most viewed posts here on tech.nocr.at. This list doesn&#8217;t just contain posts from 2010, it contains the top ten most viewed posts this year regardless of when they were created.</p><p>Without further ado, tech.nocr.at&#8217;s top 10 posts of 2010:</p><ol><li><a
href="http://tech.nocr.at/hacking-security/baffle-wifi-leeches-with-an-upside-down-ternet-2/">Baffle WiFi Leeches With An Upside-Down-Ternet</a></li><li><a
href="http://tech.nocr.at/gaming/super-genintari-4-game-stations-in-one/">Super Genintari &#8211; 4 Game Stations In One</a></li><li><a
href="http://tech.nocr.at/tech/even-more-linux-distros-that-dont-suck/">Even More Linux Distros That Don&#8217;t Suck</a></li><li><a
href="http://tech.nocr.at/hacking-security/wifi-door-opener/">WiFi Door Opener</a></li><li><a
href="http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/">How To Speed Up WordPress With Nginx And WP Super Cache</a></li><li><a
href="http://tech.nocr.at/hacking-security/hunt-down-wi-fi-leeches-with-moocherhunter/">Hunt Down WiFi Leeches With MoocherHunter</a></li><li><a
href="http://tech.nocr.at/gaming/sega-gen-mobile/">Sega Gen Mobile</a></li><li><a
href="http://tech.nocr.at/hacking-security/diy-ipod-shuffle-cable/">DIY: iPod Shuffle Cable</a></li><li><a
href="http://tech.nocr.at/hacking-security/how-to-vga-over-cat-5/">How To: VGA Over Cat-5</a></li><li><a
href="http://tech.nocr.at/hacking-security/secret-knock-door-lock/">Secret Knock Door Lock</a></li></ol><p>Let us know in the comments what were your favorite posts of 2010.</p><p></p><p
style="text-align:right"> <g:plusone size="tall"></g:plusone>  <script type="text/javascript">(function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();</script> <a
href="http://api.tweetmeme.com/share?url=http://tech.nocr.at/tech/top-10-of-2010/"><img
src="http://api.tweetmeme.com/imagebutton.gif?url=http://tech.nocr.at/tech/top-10-of-2010/" height="61" width="51" /></a></p><p
style="padding:5px;background:#ffffcc;border:1px solid #ffff99;clear:both"><a
href="http://tech.nocr.at"><img
src="http://tech.nocr.at/images/feed_logo.png" alt="tech.nocr.at" width="16" height="16" border="0" style="float:left;padding:0 5px 5px 0"></a><a
href="http://tech.nocr.at/tech/top-10-of-2010/">Top 10 Of 2010</a> originally appeared on <a
href="http://tech.nocr.at">tech.nocr.at</a> on 2010/12/29. Reproduction of content not allowed without consent.<br
style="clear:both"></p><p><small>© <a
href="http://tech.nocr.at">tech.nocr.at</a> 2010 | <a
href="http://tech.nocr.at/tech/top-10-of-2010/">Permalink</a> | <a
href="http://tech.nocr.at/tech/top-10-of-2010/#comments">Comments</a> |
Read more in <a
href="http://tech.nocr.at/category/tech/" title="View all posts in Tech News" rel="category tag">Tech News</a> | Explore more in: <a
href="http://tech.nocr.at/tag/2010/" rel="tag">2010</a>, <a
href="http://tech.nocr.at/tag/ac/" rel="tag">ac</a>, <a
href="http://tech.nocr.at/tag/cable/" rel="tag">cable</a>, <a
href="http://tech.nocr.at/tag/cat/" rel="tag">cat</a>, <a
href="http://tech.nocr.at/tag/comments/" rel="tag">comments</a>, <a
href="http://tech.nocr.at/tag/distro/" rel="tag">distro</a>, <a
href="http://tech.nocr.at/tag/diy/" rel="tag">diy</a>, <a
href="http://tech.nocr.at/tag/door/" rel="tag">door</a>, <a
href="http://tech.nocr.at/tag/ds/" rel="tag">ds</a>, <a
href="http://tech.nocr.at/tag/ea/" rel="tag">ea</a>, <a
href="http://tech.nocr.at/tag/game/" rel="tag">game</a>, <a
href="http://tech.nocr.at/tag/gaming/" rel="tag">Gaming</a>, <a
href="http://tech.nocr.at/tag/id/" rel="tag">id</a>, <a
href="http://tech.nocr.at/tag/ipod/" rel="tag">ipod</a>, <a
href="http://tech.nocr.at/tag/key/" rel="tag">key</a>, <a
href="http://tech.nocr.at/tag/keys/" rel="tag">keys</a>, <a
href="http://tech.nocr.at/tag/knock/" rel="tag">knock</a>, <a
href="http://tech.nocr.at/tag/led/" rel="tag">led</a>, <a
href="http://tech.nocr.at/tag/leech/" rel="tag">leech</a>, <a
href="http://tech.nocr.at/tag/linux/" rel="tag">linux</a>, <a
href="http://tech.nocr.at/tag/loa/" rel="tag">loa</a>, <a
href="http://tech.nocr.at/tag/lock/" rel="tag">lock</a>, <a
href="http://tech.nocr.at/tag/mobile/" rel="tag">mobile</a>, <a
href="http://tech.nocr.at/tag/nginx/" rel="tag">nginx</a>, <a
href="http://tech.nocr.at/tag/open/" rel="tag">open</a>, <a
href="http://tech.nocr.at/tag/os/" rel="tag">os</a>, <a
href="http://tech.nocr.at/tag/pen/" rel="tag">pen</a>, <a
href="http://tech.nocr.at/tag/press/" rel="tag">press</a>, <a
href="http://tech.nocr.at/tag/ring/" rel="tag">ring</a>, <a
href="http://tech.nocr.at/tag/rip/" rel="tag">rip</a>, <a
href="http://tech.nocr.at/tag/secret/" rel="tag">secret</a>, <a
href="http://tech.nocr.at/tag/sega/" rel="tag">sega</a>, <a
href="http://tech.nocr.at/tag/shuffle/" rel="tag">shuffle</a>, <a
href="http://tech.nocr.at/tag/speed/" rel="tag">speed</a>, <a
href="http://tech.nocr.at/tag/tech-nocr-at/" rel="tag">tech.nocr.at</a>, <a
href="http://tech.nocr.at/tag/technology/" rel="tag">technology</a>, <a
href="http://tech.nocr.at/tag/vga/" rel="tag">vga</a>, <a
href="http://tech.nocr.at/tag/wifi/" rel="tag">wifi</a>, <a
href="http://tech.nocr.at/tag/wordpress/" rel="tag">wordpress</a>, <a
href="http://tech.nocr.at/tag/wp-super-cache/" rel="tag">wp super cache</a> | <a
href="http://del.icio.us/post?url=http://tech.nocr.at/tech/top-10-of-2010/&title=Top 10 Of 2010">Add to del.icio.us</a> | <a
href="http://www.stumbleupon.com/submit?url=http://tech.nocr.at/tech/top-10-of-2010/&title=Top 10 Of 2010">Stumble it</a> | <a
href="http://reddit.com/submit?url=http://tech.nocr.at/tech/top-10-of-2010/&title=Top 10 Of 2010">Reddit</a> </small></p>]]></content:encoded> <wfw:commentRss>http://tech.nocr.at/tech/top-10-of-2010/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How To Speed Up WordPress With Nginx And WP Super Cache</title><link>http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/</link> <comments>http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/#comments</comments> <pubDate>Tue, 12 Aug 2008 03:43:16 +0000</pubDate> <dc:creator>Frank</dc:creator> <category><![CDATA[Tech News]]></category> <category><![CDATA[4k]]></category> <category><![CDATA[ac]]></category> <category><![CDATA[ball]]></category> <category><![CDATA[blog]]></category> <category><![CDATA[boost]]></category> <category><![CDATA[bus]]></category> <category><![CDATA[cat]]></category> <category><![CDATA[comments]]></category> <category><![CDATA[debian]]></category> <category><![CDATA[digg]]></category> <category><![CDATA[display]]></category> <category><![CDATA[distro]]></category> <category><![CDATA[ea]]></category> <category><![CDATA[eff]]></category> <category><![CDATA[error]]></category> <category><![CDATA[fast]]></category> <category><![CDATA[fix]]></category> <category><![CDATA[follow]]></category> <category><![CDATA[hd]]></category> <category><![CDATA[howto]]></category> <category><![CDATA[hp]]></category> <category><![CDATA[id]]></category> <category><![CDATA[images]]></category> <category><![CDATA[ir]]></category> <category><![CDATA[led]]></category> <category><![CDATA[light]]></category> <category><![CDATA[links]]></category> <category><![CDATA[live]]></category> <category><![CDATA[loa]]></category> <category><![CDATA[mid]]></category> <category><![CDATA[mod]]></category> <category><![CDATA[nano]]></category> <category><![CDATA[nes]]></category> <category><![CDATA[nginx]]></category> <category><![CDATA[open]]></category> <category><![CDATA[os]]></category> <category><![CDATA[pda]]></category> <category><![CDATA[pdf]]></category> <category><![CDATA[pen]]></category> <category><![CDATA[power]]></category> <category><![CDATA[press]]></category> <category><![CDATA[proc]]></category> <category><![CDATA[processes]]></category> <category><![CDATA[rc]]></category> <category><![CDATA[remote]]></category> <category><![CDATA[reverse]]></category> <category><![CDATA[ring]]></category> <category><![CDATA[root]]></category> <category><![CDATA[server]]></category> <category><![CDATA[speed]]></category> <category><![CDATA[stream]]></category> <category><![CDATA[string]]></category> <category><![CDATA[tech.nocr.at]]></category> <category><![CDATA[time]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[ui]]></category> <category><![CDATA[Untitled]]></category> <category><![CDATA[update]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp super cache]]></category> <category><![CDATA[zip]]></category> <guid
isPermaLink="false">http://tech.nocr.at/hacking-security/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/</guid> <description><![CDATA[Edit: Fixes suggested in the comments have been applied to this howto We recently moved tech.nocr.at over to a bunch of VPSs in order to achieve some decent load balancing and speed. Even though SliceHost isn&#8217;t a sponsor, I&#8217;d like to give them a quick plug. SliceHost is easily the greatest VPS provider bar none. [...]]]></description> <content:encoded><![CDATA[<p><center><br
/> <img
src="http://tech.nocr.at/wp-content/uploads/2008/08/word-speed.jpg" width="500" height="150" alt="word_speed.png" class="captionfull" /></center></p><p><b><i>Edit: Fixes suggested in the comments have been applied to this howto</b></i></p><p>We recently moved tech.nocr.at over to a bunch of VPSs in order to achieve some decent load balancing and speed. Even though <a
href="http://slicehost.com">SliceHost</a> isn&#8217;t a sponsor, I&#8217;d like to give them a quick plug. SliceHost is easily the greatest VPS provider bar none. You pick the Distro you want, you tweak it, you set it up, all ports are available, you do as you wish. If you setup multiple VPS with them you can even have private IP&#8217;s between them in order to load balance or cluster. Prices start as low as $20/month. If you use them, click <a
href="https://manage.slicehost.com/customers/new?referrer=788817778">this link</a> so that I can get some referral love. Now on to the article..</p><p>WordPress can be a blessing and a pain at the same time. It&#8217;s great for displaying dynamic content yet it&#8217;s displaying that exact dynamic content that can put a massive stress load on your system. WordPress&#8217;s query routines aren&#8217;t exactly the best. Let&#8217;s not even go into how much of a hog Apache can be, but for running dynamic content and prettying up your url&#8217;s, mod_rewrite can&#8217;t be beat. By using WP Super Cache to help reduce the load on your SQL queries and by placing Nginx in front of Apache as a reverse proxy, you&#8217;d be amazed and how quickly your site will load and respond, even enough to withstand a digg of slashdot effect.</p><p>Here&#8217;s what you are going to need.</p><ul><li><a
href="http://wordpress.org">WordPress</a> (of course)</li><li><a
href="http://httpd.apache.org/">Apache2</a></li><li><a
href="http://nginx.net/">Nginx</a></li><li><a
href="http://ocaoimh.ie/wp-super-cache/">Wp-Super-Cache</a></li></ul><p>This how-to system assumes that you have your Webserver running under a debian style distro like Ubuntu, but It can easily be modified for other distros like Fedora or CentOS.</p><p>Assuming that you already have WordPress running under Apache the first thing we are going to do is install the Wp-Super-Cache plugin and active it under your plugin folder of your WordPress installation. Pay close attention to the installation steps in the included readme.txt file, you have to follow each step properly in order to ensure proper caching.</p><p>Wp-Super-Cache creates static html files of your pages lessening the load on your SQL queries. Once you have it running and working let&#8217;s move on to our next step, reconfiguring Apache.</p><p>Apache can be a resource hog, especially when it has to span multiple child processes in order to serve up content. We are going to have to do some tweaking to apache&#8217;s conf file so that it will work behind Nginx.</p><p>Open up your /etc/apache2/ports.conf file</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">nano</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>ports.conf</pre></div></div><p>We need to change Apache from port 80 to 8080 as Nginx will be server content to the real world via port 80.</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">Listen <span style="color: #000000;">8080</span></pre></div></div><p>Next we are going to turn KeepAlives off on Apache since Nginx will be dealing with all of the actual browser connections. This will ensure that all of the child processes in Apache die quickly and don&#8217;t hang around chewing up memory</p><p>Find the KeepAlive entry in your /etc/apache2/apache2.conf file and set it to off</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">KeepAlive Off</pre></div></div><p>Now that we have made the needed changes in apache we need to restart it so that they take effect.</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 restart</pre></div></div><p>Next we are going to install Nginx which is a powerful and extremely lightweight http server that is perfect for reverse proxying or load balancing to backend servers like Apache.</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> update <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> nginx</pre></div></div><p>Once nginx is installed we are going to need to modify it&#8217;s config file located at /etc/nginx/nginx.conf</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">nano</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>nginx.conf</pre></div></div><p>Your conf file should look like this.</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">user www-data;
worker_processes  <span style="color: #000000;">2</span>;
&nbsp;
error_log  <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>error.log;
pid        <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>run<span style="color: #000000; font-weight: bold;">/</span>nginx.pid;
&nbsp;
events <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	worker_connections  <span style="color: #000000;">1024</span>;
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
http <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	include       <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>mime.types;
	default_type  application<span style="color: #000000; font-weight: bold;">/</span>octet-stream;
	access_log  <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>access.log;
	sendfile        on;
	tcp_nopush     on;
	keepalive_timeout  <span style="color: #000000;">3</span>;
	tcp_nodelay        on;
	<span style="color: #c20cb9; font-weight: bold;">gzip</span>  on;
	include <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-enabled<span style="color: #000000; font-weight: bold;">/*</span>;
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div><p>Now we need to move on to the actual site config file for our Nginx setup</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">nano</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-available<span style="color: #000000; font-weight: bold;">/</span>default</pre></div></div><p>Your file should look something like this (replace domain.com of course)</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">server <span style="color: #7a0874; font-weight: bold;">&#123;</span>
        listen   <span style="color: #000000;">80</span>;
        server_name  domain.com www.domain.com;
        error_log   <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>domain.com.error.log;
        access_log  <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>domain.com.access.log;
&nbsp;
<span style="color: #666666; font-style: italic;"># Main location (path to you blog, relative to your domain root)</span>
        location <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
            proxy_pass         http:<span style="color: #000000; font-weight: bold;">//</span>127.0.0.1:<span style="color: #000000;">8080</span><span style="color: #000000; font-weight: bold;">/</span>;
            proxy_redirect     off;
&nbsp;
            proxy_set_header   Host             <span style="color: #007800;">$http_host</span>;
            proxy_set_header   X-Real-IP        <span style="color: #007800;">$remote_addr</span>;
            proxy_set_header   X-Forwarded-For  <span style="color: #007800;">$proxy_add_x_forwarded_for</span>;
&nbsp;
            client_max_body_size       10m;
            client_body_buffer_size    128k;
&nbsp;
            proxy_connect_timeout      <span style="color: #000000;">90</span>;
            proxy_send_timeout         <span style="color: #000000;">90</span>;
            proxy_read_timeout         <span style="color: #000000;">90</span>;
&nbsp;
            proxy_buffer_size          4k;
            proxy_buffers              <span style="color: #000000;">4</span> 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
        <span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;"># Static files location</span>
        location ~<span style="color: #000000; font-weight: bold;">*</span> ^.+\.<span style="color: #7a0874; font-weight: bold;">&#40;</span>htm<span style="color: #000000; font-weight: bold;">|</span>html<span style="color: #000000; font-weight: bold;">|</span>jpg<span style="color: #000000; font-weight: bold;">|</span>jpeg<span style="color: #000000; font-weight: bold;">|</span>gif<span style="color: #000000; font-weight: bold;">|</span>png<span style="color: #000000; font-weight: bold;">|</span>ico<span style="color: #000000; font-weight: bold;">|</span>css<span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">zip</span><span style="color: #000000; font-weight: bold;">|</span>tgz<span style="color: #000000; font-weight: bold;">|</span>gz<span style="color: #000000; font-weight: bold;">|</span>rar<span style="color: #000000; font-weight: bold;">|</span>bz2<span style="color: #000000; font-weight: bold;">|</span>doc<span style="color: #000000; font-weight: bold;">|</span>xls<span style="color: #000000; font-weight: bold;">|</span>exe<span style="color: #000000; font-weight: bold;">|</span>pdf<span style="color: #000000; font-weight: bold;">|</span>ppt<span style="color: #000000; font-weight: bold;">|</span>txt<span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">tar</span><span style="color: #000000; font-weight: bold;">|</span>mid<span style="color: #000000; font-weight: bold;">|</span>midi<span style="color: #000000; font-weight: bold;">|</span>wav<span style="color: #000000; font-weight: bold;">|</span>bmp<span style="color: #000000; font-weight: bold;">|</span>rtf<span style="color: #000000; font-weight: bold;">|</span>js<span style="color: #7a0874; font-weight: bold;">&#41;</span>$ <span style="color: #7a0874; font-weight: bold;">&#123;</span>
            root   <span style="color: #000000; font-weight: bold;">/</span>;
        <span style="color: #7a0874; font-weight: bold;">&#125;</span>
	<span style="color: #666666; font-style: italic;"># if the requested file exists, return it immediately</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>-f <span style="color: #007800;">$request_filename</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #7a0874; font-weight: bold;">break</span>;
	<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">$supercache_file</span> <span style="color: #ff0000;">''</span>;
	<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">$supercache_uri</span> <span style="color: #007800;">$request_uri</span>;
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$request_method</span> = POST<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">$supercache_uri</span> <span style="color: #ff0000;">''</span>;
	<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;"># Using pretty permalinks, so bypass the cache for any query string</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$query_string</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">$supercache_uri</span> <span style="color: #ff0000;">''</span>;
	<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$http_cookie</span> ~<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #ff0000;">&quot;comment_author_|wordpress|wp-postpass_&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">$supercache_uri</span> <span style="color: #ff0000;">''</span>;
	<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;"># if we haven't bypassed the cache, specify our supercache file</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$supercache_uri</span> ~ ^<span style="color: #7a0874; font-weight: bold;">&#40;</span>.+<span style="color: #7a0874; font-weight: bold;">&#41;</span>$<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">$supercache_file</span> <span style="color: #000000; font-weight: bold;">/</span>wp-content<span style="color: #000000; font-weight: bold;">/</span>cache<span style="color: #000000; font-weight: bold;">/</span>supercache<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$http_host</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$1</span>index.html;
	<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;"># only rewrite to the supercache file if it actually exists</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>-f <span style="color: #007800;">$document_root</span><span style="color: #007800;">$supercache_file</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	rewrite ^<span style="color: #7a0874; font-weight: bold;">&#40;</span>.<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>$ <span style="color: #007800;">$supercache_file</span> <span style="color: #7a0874; font-weight: bold;">break</span>;
	<span style="color: #7a0874; font-weight: bold;">&#125;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div><p>The above (especially the if statements) help Ngnix pass the static html files that are created by WP Super Cache directly to the users thus freeing up Apache to do nothing more than handle the dynamic requests.</p><p>Now it&#8217;s time to restart Ngnix and get the whole ball of wax working</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>nginx restart</pre></div></div><p>What we have essentially done is taken the load of serving static files like images, css, and js files off of apache and passed it on to Ngnix which runs a lot faster and leaner than apache for serving static content. All requests for any dynamic content like php still gets passed on to apache. Clean and simple.</p><p>In closing let me mention that this is just what works for me, i&#8217;m sure that there might be a better way to use WP Super Cache and Ngnix to speed up WordPress, but what you see above has really helped with the load on both of the tech.nocr.at front-end web servers.</p><p></p><p
style="text-align:right"> <g:plusone size="tall"></g:plusone>  <script type="text/javascript">(function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();</script> <a
href="http://api.tweetmeme.com/share?url=http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/"><img
src="http://api.tweetmeme.com/imagebutton.gif?url=http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/" height="61" width="51" /></a></p><p
style="padding:5px;background:#ffffcc;border:1px solid #ffff99;clear:both"><a
href="http://tech.nocr.at"><img
src="http://tech.nocr.at/images/feed_logo.png" alt="tech.nocr.at" width="16" height="16" border="0" style="float:left;padding:0 5px 5px 0"></a><a
href="http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/">How To Speed Up WordPress With Nginx And WP Super Cache</a> originally appeared on <a
href="http://tech.nocr.at">tech.nocr.at</a> on 2008/08/11. Reproduction of content not allowed without consent.<br
style="clear:both"></p><p><small>© <a
href="http://tech.nocr.at">tech.nocr.at</a> 2008 | <a
href="http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/">Permalink</a> | <a
href="http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/#comments">33 Comments</a> |
Read more in <a
href="http://tech.nocr.at/category/tech/" title="View all posts in Tech News" rel="category tag">Tech News</a> | Explore more in: <a
href="http://tech.nocr.at/tag/4k/" rel="tag">4k</a>, <a
href="http://tech.nocr.at/tag/ac/" rel="tag">ac</a>, <a
href="http://tech.nocr.at/tag/ball/" rel="tag">ball</a>, <a
href="http://tech.nocr.at/tag/blog/" rel="tag">blog</a>, <a
href="http://tech.nocr.at/tag/boost/" rel="tag">boost</a>, <a
href="http://tech.nocr.at/tag/bus/" rel="tag">bus</a>, <a
href="http://tech.nocr.at/tag/cat/" rel="tag">cat</a>, <a
href="http://tech.nocr.at/tag/comments/" rel="tag">comments</a>, <a
href="http://tech.nocr.at/tag/debian/" rel="tag">debian</a>, <a
href="http://tech.nocr.at/tag/digg/" rel="tag">digg</a>, <a
href="http://tech.nocr.at/tag/display/" rel="tag">display</a>, <a
href="http://tech.nocr.at/tag/distro/" rel="tag">distro</a>, <a
href="http://tech.nocr.at/tag/ea/" rel="tag">ea</a>, <a
href="http://tech.nocr.at/tag/eff/" rel="tag">eff</a>, <a
href="http://tech.nocr.at/tag/error/" rel="tag">error</a>, <a
href="http://tech.nocr.at/tag/fast/" rel="tag">fast</a>, <a
href="http://tech.nocr.at/tag/fix/" rel="tag">fix</a>, <a
href="http://tech.nocr.at/tag/follow/" rel="tag">follow</a>, <a
href="http://tech.nocr.at/tag/hd/" rel="tag">hd</a>, <a
href="http://tech.nocr.at/tag/howto/" rel="tag">howto</a>, <a
href="http://tech.nocr.at/tag/hp/" rel="tag">hp</a>, <a
href="http://tech.nocr.at/tag/id/" rel="tag">id</a>, <a
href="http://tech.nocr.at/tag/images/" rel="tag">images</a>, <a
href="http://tech.nocr.at/tag/ir/" rel="tag">ir</a>, <a
href="http://tech.nocr.at/tag/led/" rel="tag">led</a>, <a
href="http://tech.nocr.at/tag/light/" rel="tag">light</a>, <a
href="http://tech.nocr.at/tag/links/" rel="tag">links</a>, <a
href="http://tech.nocr.at/tag/live/" rel="tag">live</a>, <a
href="http://tech.nocr.at/tag/loa/" rel="tag">loa</a>, <a
href="http://tech.nocr.at/tag/mid/" rel="tag">mid</a>, <a
href="http://tech.nocr.at/tag/mod/" rel="tag">mod</a>, <a
href="http://tech.nocr.at/tag/nano/" rel="tag">nano</a>, <a
href="http://tech.nocr.at/tag/nes/" rel="tag">nes</a>, <a
href="http://tech.nocr.at/tag/nginx/" rel="tag">nginx</a>, <a
href="http://tech.nocr.at/tag/open/" rel="tag">open</a>, <a
href="http://tech.nocr.at/tag/os/" rel="tag">os</a>, <a
href="http://tech.nocr.at/tag/pda/" rel="tag">pda</a>, <a
href="http://tech.nocr.at/tag/pdf/" rel="tag">pdf</a>, <a
href="http://tech.nocr.at/tag/pen/" rel="tag">pen</a>, <a
href="http://tech.nocr.at/tag/power/" rel="tag">power</a>, <a
href="http://tech.nocr.at/tag/press/" rel="tag">press</a>, <a
href="http://tech.nocr.at/tag/proc/" rel="tag">proc</a>, <a
href="http://tech.nocr.at/tag/processes/" rel="tag">processes</a>, <a
href="http://tech.nocr.at/tag/rc/" rel="tag">rc</a>, <a
href="http://tech.nocr.at/tag/remote/" rel="tag">remote</a>, <a
href="http://tech.nocr.at/tag/reverse/" rel="tag">reverse</a>, <a
href="http://tech.nocr.at/tag/ring/" rel="tag">ring</a>, <a
href="http://tech.nocr.at/tag/root/" rel="tag">root</a>, <a
href="http://tech.nocr.at/tag/server/" rel="tag">server</a>, <a
href="http://tech.nocr.at/tag/speed/" rel="tag">speed</a>, <a
href="http://tech.nocr.at/tag/stream/" rel="tag">stream</a>, <a
href="http://tech.nocr.at/tag/string/" rel="tag">string</a>, <a
href="http://tech.nocr.at/tag/tech-nocr-at/" rel="tag">tech.nocr.at</a>, <a
href="http://tech.nocr.at/tag/time/" rel="tag">time</a>, <a
href="http://tech.nocr.at/tag/ubuntu/" rel="tag">ubuntu</a>, <a
href="http://tech.nocr.at/tag/ui/" rel="tag">ui</a>, <a
href="http://tech.nocr.at/tag/untitled/" rel="tag">Untitled</a>, <a
href="http://tech.nocr.at/tag/update/" rel="tag">update</a>, <a
href="http://tech.nocr.at/tag/wordpress/" rel="tag">wordpress</a>, <a
href="http://tech.nocr.at/tag/wp-super-cache/" rel="tag">wp super cache</a>, <a
href="http://tech.nocr.at/tag/zip/" rel="tag">zip</a> | <a
href="http://del.icio.us/post?url=http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/&title=How To Speed Up WordPress With Nginx And WP Super Cache">Add to del.icio.us</a> | <a
href="http://www.stumbleupon.com/submit?url=http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/&title=How To Speed Up WordPress With Nginx And WP Super Cache">Stumble it</a> | <a
href="http://reddit.com/submit?url=http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/&title=How To Speed Up WordPress With Nginx And WP Super Cache">Reddit</a> </small></p>]]></content:encoded> <wfw:commentRss>http://tech.nocr.at/tech/how-to-speed-up-wordpress-with-nginx-and-wp-super-cache/feed/</wfw:commentRss> <slash:comments>33</slash:comments> </item> </channel> </rss>
