Glad it's working. The WSGI Wikipedia article is a good start if you are
interested in learning more about its concepts!

On Thursday, June 4, 2015, Kenneth Dombrowski <[email protected]> wrote:

>
> Oh my god, thank you Brian!  I knew it had to be something stupid on my
> end, but was fixated on that port 5000 listener.  This is my first
> experience with uwsgi & I knew I was missing something conceptually.
>
>
> On 15-06-03 19:09 -0400, Brian Nuszkowski wrote:
> > Hi Kenneth,
> >
> > You need to remove "app.run(**kwargs)" from your Python application as
> this
> > launches a lightweight development HTTP server. You don't need this as
> you
> > are fronting your application with nginx as the HTTP server.
> >
> > Hope this helps.
> >
> > Brian
> >
> >
> >
> > On Wednesday, June 3, 2015, Kenneth Dombrowski <[email protected]
> <javascript:;>> wrote:
> >
> > >
> > > Hello uWSGI users,
> > >
> > > I have been struggling to deploy a flask app to my server using uWSGI
> in
> > > Emperor mode since yesterday and am at a loss why it is not working.
> > >
> > > My setup is nginx (1.4.6-1ubuntu3.2), uWSGI==2.0.10 installed via pip
> > > into a virtualenv, Flask==0.10.1, and Python 3.4.0.  supervisord is
> > > responsible for launching the Emperor process.
> > >
> > > The flask app itself works fine when I start it manually bound to a TCP
> > > port,
> > > and when I manually run uwsgi like:
> > >
> > >     uwsgi -s /tmp/oauthsvc.sock -w wsgi --stats
> /tmp/oauthsvc-stats.sock
> > >
> > > I do notice that even though I think I configured the vassal to use a
> > > unix socket, it reports on startup that it is listening to
> > > http://127.0.0.1:5000/
> > >
> > > I verified with strace that nginx is opening the socket, and
> permissions
> > > of that socket are 777:
> > >
> > >     srwxrwxrwx 1 oauthsvc oauthsvc 0 Jun  3 18:34 /tmp/oauthsvc.sock
> > >     srwxrwxrwx 1 oauthsvc oauthsvc 0 Jun  3 18:08
> /tmp/oauthsvc-stats.sock
> > >
> > > But the connection eventually just times out.
> > >
> > > My configs & some log output follows.  Please review if you have a
> > > moment, I would very much appreciate it!
> > >
> > > Thanks for reading,
> > > Kenneth
> > >
> > > I am currently on #uwsgi as well, but wasn't getting a response there.
> > >
> > > The nginx config is as simple as can be:
> > >
> > >     server {
> > >         listen 80;
> > >         server_name default;
> > >
> > >         location = /robots.txt  { access_log off; log_not_found off; }
> > >         location = /favicon.ico { access_log off; log_not_found off; }
> > >
> > >         location / {
> > >             include uwsgi_params;
> > >             uwsgi_pass unix:/tmp/oauthsvc.sock;
> > >         }
> > >     }
> > >
> > > supervisor launches the emporer process with this command:
> > >
> > >     [program:oauthsvc-emperor]
> > >     command=/services/oauthsvc/services/oauthsvc/bin/uwsgi --emperor
> > > /services/oauthsvc/etc/uwsgi/vassals --die-on-term --uid 1005 --gid
> 1005
> > > --logto /services/oauthsvc/var/log/uwsgi/emperor.log
> > >     user=oauthsvc
> > >     autostart=true
> > >     autorestart=true
> > >     redirect_stderr=true
> > >
> > > The vassal's ini file looks like:
> > >
> > >     [uwsgi]
> > >     # do not turn on master mode when spawned by emperor
> > >     #
> > >
> http://stackoverflow.com/questions/15055002/uwsgi-master-with-emperor-spawns-two-emperors
> > >     #master = true
> > >     protocol = uwsgi
> > >     socket = /tmp/oauthsvc.sock
> > >     stats = /tmp/oauthsvc-stats.sock
> > >     daemonize = /services/oauthsvc/var/log/uwsgi/oauthsvc.log
> > >     chdir = /services/oauthsvc/services/oauthsvc/oauthsvc-server
> > >     wsgi-file = wsgi.py
> > >     callable = app
> > >     chmod-socket = 777
> > >     uid = 1005
> > >     gid = 1005
> > >     virtualenv = /services/oauthsvc/services/oauthsvc
> > >     # PYTHONHOME
> > >     home = /services/oauthsvc/services/oauthsvc
> > >     env =
> > >     processes = 4
> > >     # If you start uWSGI without threads, the Python GIL will not be
> > > enabled, so
> > >     # threads generated by your application will never run unless you
> > > include:
> > >     enable-threads = true
> > >
> > > And finally, wsgi.py:
> > >
> > >     #!/usr/bin/env python3
> > >
> > >     from oauthsvc.flask.server import parse_args, configured_app
> > >
> > >     args = parse_args()
> > >     app = configured_app(args.config, debug=args.debug)
> > >     app.run(**kwargs)
> > >
> > >
> > > The emperor log:
> > >
> > >     *** Starting uWSGI 2.0.10 (64bit) on [Wed Jun  3 18:34:25 2015] ***
> > >     compiled with version: 4.8.2 on 03 June 2015 18:32:12
> > >     os: Linux-3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC
> 2015
> > >     nodename: ip-10-0-1-224
> > >     machine: x86_64
> > >     clock source: unix
> > >     pcre jit disabled
> > >     detected number of CPU cores: 1
> > >     current working directory: /
> > >     detected binary path:
> > > /services/oauthsvc/src/bs-oauth-svc.2015-06-03.183113/bin/uwsgi
> > >     *** WARNING: you are running uWSGI without its master process
> manager
> > > ***
> > >     your processes number limit is 30038
> > >     your memory page size is 4096 bytes
> > >     detected max file descriptor number: 1024
> > >     *** starting uWSGI Emperor ***
> > >     *** has_emperor mode detected (fd: 6) ***
> > >     [uWSGI] getting INI configuration from oauthsvc.ini
> > >
> > > The vassal log:
> > >
> > >     *** Starting uWSGI 2.0.10 (64bit) on [Wed Jun  3 18:34:25 2015] ***
> > >     compiled with version: 4.8.2 on 03 June 2015 18:32:12
> > >     os: Linux-3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC
> 2015
> > >     nodename: ip-10-0-1-224
> > >     machine: x86_64
> > >     clock source: unix
> > >     pcre jit disabled
> > >     detected number of CPU cores: 1
> > >     current working directory: /services/oauthsvc/etc/uwsgi/vassals
> > >     detected binary path:
> > > /services/oauthsvc/src/bs-oauth-svc.2015-06-03.183113/bin/uwsgi
> > >     chdir() to /services/oauthsvc/services/oauthsvc/oauthsvc-server
> > >     your processes number limit is 30038
> > >     your memory page size is 4096 bytes
> > >      *** WARNING: you have enabled harakiri without post buffering.
> Slow
> > > upload could be rejected on post-unbuffered webservers ***
> > >     detected max file descriptor number: 1024
> > >     lock engine: pthread robust mutexes
> > >     thunder lock: disabled (you can enable it with --thunder-lock)
> > >     uwsgi socket 0 bound to UNIX address /tmp/oauthsvc.sock fd 3
> > >     Python version: 3.4.0 (default, Apr 11 2014, 13:08:40)  [GCC 4.8.2]
> > >     Set PythonHome to /services/oauthsvc/services/oauthsvc
> > >     Python main interpreter initialized at 0x135d4d0
> > >     python threads support enabled
> > >     your server socket listen backlog is limited to 100 connections
> > >     your mercy for graceful operations on workers is 60 seconds
> > >     mapped 363840 bytes (355 KB) for 4 cores
> > >     *** Operational MODE: preforking ***
> > >      * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
> > >
> > >
> > > _______________________________________________
> > > uWSGI mailing list
> > > [email protected] <javascript:;> <javascript:;>
> > > http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
> > >
>
> > _______________________________________________
> > uWSGI mailing list
> > [email protected] <javascript:;>
> > http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>
> _______________________________________________
> uWSGI mailing list
> [email protected] <javascript:;>
> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to