Gunicorn runs the WSGI HTTP server, but typically you'll want to run
Apache or NGINX ahead of that. This gives some benefits:
 
- Apache / NGINX are really fast at serving static files, much better than
having Python/Gunicorn do this
- Apache / NGINX have built-in facilities for using TLS/SSL, while doing
so in Gunicorn is a pain
- You can load balance across multiple Gunicorn instances from one web
server. This is more used in scale-out solutions, so not much of a benefit
on IBM i where most people scale-up instead.
Additionally, there's more info here:
[1]https://stackoverflow.com/questions/8739871/why-does-unicorn-need-to-be-deployed-together-with-nginx/36954749#36954749
(While that answer talks about Unicorn ruby application server, the
Gunicorn Python application server is based on the same philosophies.)
 
 
----- Original message -----

From: Quintin Holmberg <qholmberg@xxxxxxxxxxxxxxxx>
Sent by: "OpenSource" <opensource-bounces@xxxxxxxxxxxxxxxxxx>
To: IBMi Open Source Roundtable <opensource@xxxxxxxxxxxxxxxxxx>
Cc:
Subject: [EXTERNAL] Re: [IBMiOSS] Python WSGI Server
Date: Thu, Apr 30, 2020 11:05 AM
 
Kevin ... What is the purpose of the reverse proxy in this setup?

-----Original Message-----
From: OpenSource <opensource-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of
Kevin Adler
Sent: Thursday, April 30, 2020 10:54 AM
To: opensource@xxxxxxxxxxxxxxxxxx
Subject: Re: [IBMiOSS] Python WSGI Server

   The IBM i version of Apache does not ship with mod_wsgi so you'd have
to
   build it yourself and I don't think that's possible.
    
   We typically recommend using [1][2]https://gunicorn.org/  with a
reverse proxy
   (can be done from Apache or NGINX). I wrote a STRTCPSVR plugin for
   Gunicorn at
  
[2][3]https://github.com/OSSILE/OSSILE/tree/master/main/c_gunicorn_server ;.
    

     ----- Original message -----
     From: Quintin Holmberg <qholmberg@xxxxxxxxxxxxxxxx>
     Sent by: "OpenSource" <opensource-bounces@xxxxxxxxxxxxxxxxxx>
     To: IBMi Open Source Roundtable <opensource@xxxxxxxxxxxxxxxxxx>
     Cc:
     Subject: [EXTERNAL] [IBMiOSS] Python WSGI Server
     Date: Thu, Apr 30, 2020 10:28 AM
      
     We have a student group doing a Python based dashboard for us. I'm
     getting the IBMi ready for a Flask based app so, I need a WSGI
     container. This is new to me. It seems there are a variety of
options
     including mod_wsgi for Apache.

     Two questions ...
     1) Could anyone who has configured a WSGI container on the IBMi
describe
     for me what they used and, possibly, provide some links to
     configuration?
     2) Does anyone know of a good instruction set for configuring
mod_wsgi
     in Apache on the IBMi?

     We already use Apache for some web applications so, I'm leaning
that
     directions. That said, I'm open to information about "better"
options
     and why they might be preferable.

     Thanks.

     Quintin Holmberg
     Director of IT
     Dayton Rogers Manufacturing Co.
     qholmberg@xxxxxxxxxxxxxxxx

     NOTICE – this email and any attached file (“Information”) may
contain
     technical data subject to the U.S. International Traffic in Arms
     Regulation (“ITAR”) 22 CFR parts 120-130. The Information may not
be
     shared with any Foreign Person, as that term is defined in ITAR.
The
     Information is sent only for the use of the intended recipient and
may
     contain legally privileged and/or confidential information. If you
are
     not the intended recipient, you are notified that any dissemination
or
     copying of the Information is prohibited. If you received the
     Information in error you must notify the sender immediately and
destroy
     the Information without printing or saving it.
     --
     This is the IBMi Open Source Roundtable (OpenSource) mailing list
     To post a message email: OpenSource@xxxxxxxxxxxxxxxxxx
     To subscribe, unsubscribe, or change list options,
     visit:
[3][4]https://lists.midrange.com/mailman/listinfo/opensource  ;
     or email: OpenSource-request@xxxxxxxxxxxxxxxxxx
     Before posting, please take a moment to review the archives
     at [4][5]https://archive.midrange.com/opensource  ;.

     Help support midrange.com by shopping at amazon.com with our
affiliate
     link: [5][6]https://amazon.midrange.com  ;
      

    

References

   Visible links
   1. [7]https://gunicorn.org/ ;
   2.
[8]https://github.com/OSSILE/OSSILE/tree/master/main/c_gunicorn_server ;
   3. [9]https://lists.midrange.com/mailman/listinfo/opensource ;
   4. [10]https://archive.midrange.com/opensource ;
   5. [11]https://amazon.midrange.com/ ;
--
This is the IBMi Open Source Roundtable (OpenSource) mailing list To
post a message email: OpenSource@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: [12]https://lists.midrange.com/mailman/listinfo/opensource ;
or email: OpenSource-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
[13]https://archive.midrange.com/opensource ;.

Help support midrange.com by shopping at amazon.com with our affiliate
link: [14]https://amazon.midrange.com ;
--
This is the IBMi Open Source Roundtable (OpenSource) mailing list
To post a message email: OpenSource@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: [15]https://lists.midrange.com/mailman/listinfo/opensource ;
or email: OpenSource-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at [16]https://archive.midrange.com/opensource ;.

Help support midrange.com by shopping at amazon.com with our affiliate
link: [17]https://amazon.midrange.com ;
 

 

References

Visible links
1. https://stackoverflow.com/questions/8739871/why-does-unicorn-need-to-be-deployed-together-with-nginx/36954749#36954749
2. https://gunicorn.org/
3. https://github.com/OSSILE/OSSILE/tree/master/main/c_gunicorn_server
4. https://lists.midrange.com/mailman/listinfo/opensource
5. https://archive.midrange.com/opensource
6. https://amazon.midrange.com/
7. https://gunicorn.org/
8. https://github.com/OSSILE/OSSILE/tree/master/main/c_gunicorn_server
9. https://lists.midrange.com/mailman/listinfo/opensource
10. https://archive.midrange.com/opensource
11. https://amazon.midrange.com/
12. https://lists.midrange.com/mailman/listinfo/opensource
13. https://archive.midrange.com/opensource
14. https://amazon.midrange.com/
15. https://lists.midrange.com/mailman/listinfo/opensource
16. https://archive.midrange.com/opensource
17. https://amazon.midrange.com/

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.