bundled/flask/docs/deploying/cgi.rst @ bdfacbcf700e default tip
Friendlier patch urls & mimetype Replace /changeset/<revset>/patch/ by /changeset/<revset>.patch and set the mimetype to text/x-diff. This helps the browser opening the right application thanks to the mimetype, and the application to better guess the file type thanks to the '.patch' extension
| author | Christophe de Vienne <christophe@cdevienne.info> |
|---|---|
| date | Fri, 19 Aug 2016 18:58:14 +0200 |
| parents | f33efe14bff1 |
| children | (none) |
CGI === If all other deployment methods do not work, CGI will work for sure. CGI is supported by all major servers but usually has a less-than-optimal performance. This is also the way you can use a Flask application on Google's `App Engine`_, there however the execution does happen in a CGI-like environment. The application's performance is unaffected because of that. .. admonition:: Watch Out Please make sure in advance that your ``app.run()`` call you might have in your application file, is inside an ``if __name__ == '__main__':`` or moved to a separate file. Just make sure it's not called because this will always start a local WSGI server which we do not want if we deploy that application to CGI / app engine. .. _App Engine: http://code.google.com/appengine/ Creating a `.cgi` file ---------------------- First you need to create the CGI application file. Let's call it `yourapplication.cgi`:: #!/usr/bin/python from wsgiref.handlers import CGIHandler from yourapplication import app CGIHandler().run(app) Server Setup ------------ Usually there are two ways to configure the server. Either just copy the `.cgi` into a `cgi-bin` (and use `mod_rewrite` or something similar to rewrite the URL) or let the server point to the file directly. In Apache for example you can put a like like this into the config: .. sourcecode:: apache ScriptAlias /app /path/to/the/application.cgi For more information consult the documentation of your webserver.