<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SleepMap (Posts about sockets)</title><link>https://sleepmap.de/</link><description></description><atom:link href="https://sleepmap.de/categories/sockets.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2022 &lt;a href="mailto:dave@sleepmap.de"&gt;David Runge&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;CC BY-NC-SA 4.0&lt;/a&gt;</copyright><lastBuildDate>Mon, 12 Dec 2022 10:30:52 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Securely serving webapps using uWSGI</title><link>https://sleepmap.de/2016/securely-serving-webapps-using-uwsgi/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Ever since I have been running my own &lt;a href="https://archlinux.org" target="_blank"&gt;Arch Linux&lt;/a&gt; box to serve my services, I used &lt;a href="https://www.nginx.org/" target="_blank"&gt;nginx&lt;/a&gt; in conjunction with &lt;a href="https://projects.unbit.it/uwsgi" target="_blank"&gt;uWSGI&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;So instead of using &lt;a href="https://php-fpm.org/" target="_blank"&gt;php-fpm&lt;/a&gt; and be limited to just &lt;a href="https://secure.php.net/" target="_blank"&gt;PHP&lt;/a&gt;, I can use a single application server to do all of them (&lt;a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface" target="_blank"&gt;CGI&lt;/a&gt;, &lt;a href="https://www.python.org/" target="_blank"&gt;Python&lt;/a&gt;, &lt;a href="https://secure.php.net/" target="_blank"&gt;PHP&lt;/a&gt; and even the stuff I don't use, such as &lt;a href="https://rack.github.io/" target="_blank"&gt;Ruby Rack&lt;/a&gt;, &lt;a href="http://www.mono-project.com/" target="_blank"&gt;Mono&lt;/a&gt;, &lt;a href="https://www.java.com/en/" target="_blank"&gt;Java&lt;/a&gt;, &lt;a href="https://www.lua.org/" target="_blank"&gt;Lua&lt;/a&gt;, &lt;a href="https://www.perl.org/" target="_blank"&gt;Perl&lt;/a&gt;, &lt;a href="http://www.webdav.org/" target="_blank"&gt;WebDAV&lt;/a&gt;). They are all separately installable as plugins.&lt;/div&gt;
&lt;div class="line"&gt;Static sites, such as this, default to being served by &lt;a href="https://www.nginx.org/" target="_blank"&gt;nginx&lt;/a&gt; directly of course.&lt;/div&gt;
&lt;div class="line"&gt;Over time I found &lt;a href="https://projects.unbit.it/uwsgi" target="_blank"&gt;uWSGI&lt;/a&gt; to be a very versatile and powerful piece of software that has many advantages (over e.g. &lt;a href="https://httpd.apache.org/" target="_blank"&gt;Apache&lt;/a&gt;):&lt;/div&gt;
&lt;/div&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;socket activation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;webapp encapsulation and jailing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;self-healing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;being able to separetely manage services&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;exit after idle&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;I'll explain the services I use (&lt;a href="https://mantisbt.org/" target="_blank"&gt;MantisBT&lt;/a&gt;, &lt;a href="https://roundcube.net/" target="_blank"&gt;roundcube&lt;/a&gt;, &lt;a href="https://owncloud.org" target="_blank"&gt;ownCloud&lt;/a&gt;, &lt;a href="http://list.org/" target="_blank"&gt;Mailman&lt;/a&gt;, &lt;a href="https://github.com/claudehohl/Stikked" target="_blank"&gt;Stikked&lt;/a&gt;, &lt;a href="https://wordpress.org" target="_blank"&gt;Wordpress&lt;/a&gt;, &lt;a href="http://postfixadmin.sourceforge.net/" target="_blank"&gt;Postfixadmin&lt;/a&gt;, &lt;a href="https://www.phpmyadmin.net/" target="_blank"&gt;phpMyAdmin&lt;/a&gt;, &lt;a href="https://git.zx2c4.com/cgit/" target="_blank"&gt;cgit&lt;/a&gt;, &lt;a href="https://www.mediawiki.org/wiki/MediaWiki" target="_blank"&gt;MediaWiki&lt;/a&gt;, &lt;a href="http://etherpad.org" target="_blank"&gt;Etherpad&lt;/a&gt; ) along with configuration examples and their possible pitfalls.&lt;/div&gt;
&lt;div class="line"&gt;In my last post about &lt;a class="reference external" href="https://sleepmap.de/2016/2016/lets-encrypt-it-all"&gt;Let's Encrypt&lt;/a&gt; I already showed some examples on how to configure &lt;a href="https://www.nginx.org/" target="_blank"&gt;nginx&lt;/a&gt; for the use with &lt;a href="https://projects.unbit.it/uwsgi" target="_blank"&gt;uWSGI&lt;/a&gt;. Let's jump right in.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2016/securely-serving-webapps-using-uwsgi/"&gt;Read more…&lt;/a&gt; (20 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>application server</category><category>arch linux</category><category>cgit</category><category>mediawiki</category><category>nginx</category><category>owncloud</category><category>php</category><category>python</category><category>redis</category><category>roundcube</category><category>security</category><category>sockets</category><category>systemd</category><category>uwsgi</category><category>webapps</category><category>wordpress</category><guid>https://sleepmap.de/2016/securely-serving-webapps-using-uwsgi/</guid><pubDate>Sat, 08 Oct 2016 07:00:00 GMT</pubDate></item></channel></rss>