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.