<story><title>The Architecture of Open Source Applications: Nginx (2012)</title><url>https://aosabook.org/en/nginx.html</url></story><parent_chain></parent_chain><comment><author>codetrotter</author><text>I used to use Nginx for a long while, but for the past several years I’ve been using Caddy instead and it’s been serving me well. Caddy, like Nginx, is open source.&lt;p&gt;What originally made me switch is how dead simple it was to set up Caddy to use Let’s Encrypt with renewal via DNS records using the Caddy Cloudflare plugin. It’s basically just download Caddy with the plugin (or build from source if you prefer), generate token for domain in Cloudflare, paste token into Caddy config file and never worry about it again.&lt;p&gt;The reason that DNS based Let’s Encrypt renewal is superior is that you can even use it on servers that are not serving the site to the Internet. And aside from that just how simple, reliable and free of worry the setup is with Caddy and the Caddy Cloudflare plugin.</text></comment>
<story><title>The Architecture of Open Source Applications: Nginx (2012)</title><url>https://aosabook.org/en/nginx.html</url></story><parent_chain></parent_chain><comment><author>brundolf</author><text>&amp;gt; nginx (pronounced &amp;quot;engine x&amp;quot;) is a free open source web server&lt;p&gt;As a relatively young dev, the idea of a &amp;quot;web server&amp;quot; as a standalone binary that serves your application (vs a library that you use to write your own &amp;quot;server&amp;quot;) feels strange.&lt;p&gt;Of course nginx is more than that- in my limited experience I mostly see it used as a static file server and&amp;#x2F;or reverse-proxy and&amp;#x2F;or load balancer. But I believe (someone correct me if I&amp;#x27;m wrong) that the classic Apache-style paradigm was to have &amp;quot;the server&amp;quot; be generic and explicitly support certain application languages, which it knows how to load and interpret for handling requests.</text></comment>