Removing flup and fastcgi from documentation
authorMichael Lynch <git@mtlynch.io>
Wed, 15 Apr 2020 00:45:54 +0000 (20:45 -0400)
committerMichael Lynch <git@mtlynch.io>
Wed, 15 Apr 2020 00:45:54 +0000 (20:45 -0400)
flup is not supported on Python3, so MediaGoblin doesn't have a supported way to enable FastCGI support.

This change removes all references to flup and FastCGI and updates deployment instructions to use simple HTTP forwarding with nginx to access mediagoblin's non-static resources.

docs/source/siteadmin/configuration.rst
docs/source/siteadmin/deploying.rst
docs/source/siteadmin/production-deployments.rst
lazystarter.sh
paste.ini

index 0cb04002c844b34fcedfd1d3e12127251a8e1a35..8962d5fa6c52dd9ec18bac087a9cede4eefe5d68 100644 (file)
@@ -39,8 +39,8 @@ paste.ini
   <http://pythonpaste.org/script/>`_).  It also sets up some
   middleware that you can mostly ignore, except to configure
   sessions... more on that later.  If you are adding a different
-  Python server other than FastCGI / plain HTTP, you might configure
-  it here.  You probably won't need to change this file very much.
+  Python server other than plain HTTP, you might configure it
+  here.  You probably won't need to change this file very much.
 
 
 There's one more file that you certainly won't change unless you're
index 42fe177241cef44c33f49d111f9e5e133a3d8e7f..f70ad6ce93c2c214fa0ddba0a7875922834bd8e9 100644 (file)
@@ -25,7 +25,7 @@ will take you step-by-step through setting up your own instance of MediaGoblin.
 Of course, when it comes to setting up web applications like MediaGoblin,
 there's an almost infinite way to deploy things, so for now, we'll keep it
 simple with some assumptions. We recommend a setup that combines MediaGoblin +
-virtualenv + FastCGI + Nginx on a .deb- or .rpm-based GNU/Linux distro.
+virtualenv + Nginx on a .deb- or .rpm-based GNU/Linux distro.
 
 Other deployment options (e.g., deploying on FreeBSD, Arch Linux, using
 Apache, etc.) are possible, though! If you'd prefer a different deployment
@@ -264,40 +264,6 @@ This directory will be used to store uploaded media files::
 
     $ mkdir user_dev && chmod 750 user_dev
 
-Assuming you are going to deploy with FastCGI, you should also install
-flup::
-
-    $ ./bin/easy_install flup
-
-(Note, if you're running Python 2, which you probably are at this
-point in MediaGoblin's development, you'll need to run:)
-
-    $ ./bin/easy_install flup==1.0.3.dev-20110405
-
-The above provides an in-package install of ``virtualenv``. While this
-is counter to the conventional ``virtualenv`` configuration, it is
-more reliable and considerably easier to configure and illustrate. If
-you're familiar with Python packaging you may consider deploying with
-your preferred method.
-
-.. note::
-
-   What if you don't want an in-package ``virtualenv``?  Maybe you
-   have your own ``virtualenv``, or you are building a MediaGoblin
-   package for a distribution.  There's no need necessarily for the
-   virtualenv produced by ``./configure && make`` by default other
-   than attempting to simplify work for developers and people
-   deploying by hiding all the virtualenv and bower complexity.
-
-   If you want to install all of MediaGoblin's libraries
-   independently, that's totally fine!  You can pass the flag
-   ``--without-virtualenv`` which will skip this step.   
-   But you will need to install all those libraries manually and make
-   sure they are on your ``PYTHONPATH`` yourself!  (You can still use
-   ``python setup.py develop`` to install some of those libraries,
-   but note that no ``./bin/python`` will be set up for you via this
-   method, since no virtualenv is set up for you!)
-
 This concludes the initial configuration of the MediaGoblin 
 environment. In the future, when you update your
 codebase, you should also run::
@@ -377,14 +343,13 @@ exit to return to the root/sudo account.::
 .. _webserver-config:
 
 
-FastCGI and nginx
+nginx
 ~~~~~~~~~~~~~~~~~
 
 This configuration example will use Nginx, however, you may
-use any webserver of your choice as long as it supports the FastCGI
-protocol. If you do not already have a web server, consider Nginx, as
-the configuration files may be more clear than the
-alternatives.
+use any webserver of your choice. If you do not already have
+a web server, consider Nginx, as the configuration files may
+be more clear than the alternatives.
 
 Create a configuration file at
 ``/srv/mediagoblin.example.org/nginx.conf`` and create a symbolic link
@@ -460,15 +425,9 @@ this ``nginx.conf`` file should be modeled on the following::
         alias /srv/mediagoblin.example.org/mediagoblin/user_dev/plugin_static/;
      }
 
-     # Mounting MediaGoblin itself via FastCGI.
+     # Forward requests to the MediaGoblin app server.
      location / {
-        fastcgi_pass 127.0.0.1:26543;
-        include /etc/nginx/fastcgi_params;
-
-        # our understanding vs Nginx's handling of script_name vs
-        # path_info don't match :)
-        fastcgi_param PATH_INFO $fastcgi_script_name;
-        fastcgi_param SCRIPT_NAME "";
+        proxy_pass http://127.0.0.1:6543;
      }
     }
 
@@ -502,7 +461,7 @@ example::
 
     cd /srv/mediagoblin.example.org/mediagoblin/
     su mediagoblin -s /bin/bash
-    ./lazyserver.sh --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543
+    ./lazyserver.sh --server-name=main
 
 Visit the site you've set up in your browser by visiting
 <http://mediagoblin.example.org>. You should see MediaGoblin!
index 3d11f02264fc5e1cc1d7448efcd46b2f29130f6d..01794cdf3a96109c69cc001f56810888287a61e9 100644 (file)
@@ -114,7 +114,7 @@ The second file should be named ``mediagoblin-paster.service``:
                   --pid-file=/var/run/mediagoblin/mediagoblin.pid \
                   --log-file=/var/log/mediagoblin/mediagoblin.log \
                   --daemon \
-                  --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543
+                  --server-name=main
     ExecStop=/srv/mediagoblin.example.org/mediagoblin/bin/paster serve \
                  --pid-file=/var/run/mediagoblin/mediagoblin.pid \
                  /srv/mediagoblin.example.org/mediagoblin/paste_local.ini stop
@@ -165,7 +165,7 @@ basis for an init script:
      /srv/mediagoblin.example.org/mediagoblin/bin/paster serve \
      /srv/mediagoblin.example.org/mediagoblin/paste.ini \
      --pid-file=/var/run/mediagoblin.pid \
-     --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543
+     --server-name=main
 
 The above configuration places MediaGoblin in "always eager" mode
 with Celery, this means that submissions of content will be processed
@@ -181,7 +181,7 @@ as the basis for your script:
      /srv/mediagoblin.example.org/mediagoblin/bin/paster serve \
      /srv/mediagoblin.example.org/mediagoblin/paste.ini \
      --pid-file=/var/run/mediagoblin.pid \
-     --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543
+     --server-name=main
 
 
 Members of the MediaGoblin community have provided init scripts for the
index b531b068cdab5f5ec9206d8380d93ba03e297eb0..e0907def11993f86da23f16c78d484c1fcf0ae51 100755 (executable)
@@ -38,8 +38,7 @@ if [ "$1" = "-h" ]; then
     echo "$0 [-h] [-c filename.ini] [ARGS_to_${starter_cmd} ...]"
     echo ""
     echo "   For example:"
-    echo "         $0 -c fcgi.ini port_number=23371"
-    echo "     or: $0 --server-name=fcgi --log-file=paste.log"
+    echo "         $0 --server-name=main --log-file=paste.log"
     echo ""
     echo "   The configfile defaults to ${ini_prefix}_local.ini,"
     echo "   if that is readable, otherwise ${ini_prefix}.ini."
index ce3f01e85d7b8e8d0a47cd5a984151cd46d1b047..cbc37bba210feb2d7dc02ec1c81aaf55321a6478 100644 (file)
--- a/paste.ini
+++ b/paste.ini
@@ -74,12 +74,6 @@ use = egg:waitress#main
 host = 0.0.0.0
 port = 6543
 
-# Use this if you want to connect via fastcgi
-[server:fcgi]
-use = egg:flup#fcgi_fork
-host = %(fcgi_host)s
-port = %(fcgi_port)s
-
 [server:http]
 use = egg:waitress#main
 host = %(http_host)s