[uWSGI] uwsgi_admin

Yann Malet yann.malet at gmail.com
Tue Jan 26 21:46:11 CET 2010


Roberto,

I think that this mail will close this effort of making the deployment of
uwsgi_admin easier. From this changeset
http://bitbucket.org/yml/uwsgi_admin/changeset/c91cb8e3cf97/ uwsgi_admin is
easy to install in an isolated environment.

I have also added an installation guide to the repository this should make
the installation trivial :
http://bitbucket.org/yml/uwsgi_admin/src/c91cb8e3cf97/INSTALL

I would be glad to hear from you. Please do not hesitate to merge this back
into the main repository of for uwsgi_admin. I will delete this branch as
soon have this is done to avoid the confusion.

Regards,
--yml





On Tue, Jan 26, 2010 at 1:15 PM, Yann Malet <yann.malet at gmail.com> wrote:

> Quick feedback. I have just tested it and it seems to work alright I will
> resume my work on uwsgi_admin packaging where I left it and I will let you
> where we stand. I think that bit should take us to a situation where we can
> have something that just work.  The side effect of the recent improvement
> might make the packaging easier. However I am wondering if it would not make
> sense to register UWSGI on PYPI. This would make it very easy on be
> installed on virtually any system: "pip install uwsgi" or "easy_install
> uwsgi".
>
>
> You will find below the test I did to quickly test :
>
> --------------------------8<-----------------------
>
> (ve)yml at yml-laptop:uwsgi_admin$ pip install -E ve -e hg+
> http://projects.unbit.it/hg/uwsgi#egg=uwsgi
> Obtaining uwsgi from hg+http://projects.unbit.it/hg/uwsgi#egg=uwsgi
>   Updating ./ve/src/uwsgi clone
>   Running setup.py egg_info for package uwsgi
>     rm -f utils.o protocol.o socket.o pymodule.o spooler.o logging.o main.o
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` utils.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` protocol.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` socket.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` -o pymodule.o
> uwsgi_pymodule.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` spooler.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` logging.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` -o main.o
> uwsgi.c
>     gcc `python2.6-config --libs` `xml2-config --libs` utils.o protocol.o
> socket.o spooler.o logging.o pymodule.o main.o -o uwsgi26
>     detected python version 2.6
> Installing collected packages: uwsgi
>   Running setup.py develop for uwsgi
>     rm -f utils.o protocol.o socket.o pymodule.o spooler.o logging.o main.o
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` utils.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` protocol.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` socket.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` -o pymodule.o
> uwsgi_pymodule.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` spooler.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` logging.c
>     gcc -c `python2.6-config --cflags` `xml2-config --cflags` -o main.o
> uwsgi.c
>     gcc `python2.6-config --libs` `xml2-config --libs` utils.o protocol.o
> socket.o spooler.o logging.o pymodule.o main.o -o uwsgi26
>     detected python version 2.6
>     Creating
> /opt/www/uwsgi-admin/uwsgi_admin/ve/lib/python2.6/site-packages/uWSGI.egg-link
> (link to .)
>     uWSGI 0.9.4.1 is already the active version in easy-install.pth
>
>     Installed /opt/www/uwsgi-admin/uwsgi_admin/ve/src/uwsgi
> Successfully installed uwsgi
> (ve)yml at yml-laptop:uwsgi_admin$ uwsgi26 -h
> Usage: uwsgi26 [options...]
> -s|--socket <name> path (or name) of UNIX/TCP socket to bind to
>  -l|--listen <num> set socket listen queue to <n> (default 64, maximum is
> system dependent)
>  -z|--socket-timeout <sec> set socket timeout to <sec> seconds (default 4
> seconds)
>  -b|--buffer-size <n> set buffer size to <n> bytes
> -L|--disable-logging disable request logging (only errors or server
> messages will be logged)
>  -x|--xmlconfig <path> path of xml config file (no ROCK_SOLID)
> -w|--module <module> name of python config module (no ROCK_SOLID)
>  -t|--harakiri <sec> set harakiri timeout to <sec> seconds
> -p|--processes <n> spawn <n> uwsgi worker processes
>  -O|--optimize <n> set python optimization level to <n> (no ROCK_SOLID)
> -v|--max-vars <n> set maximum number of vars/headers to <n>
>  -A|--sharedarea <n> create a shared memory area of <n> pages
> -c|--cgi-mode set cgi mode (no ROCK_SOLID)
>  -C|--chmod-socket chmod socket to 666
> -P|--profiler enable profiler (no ROCK_SOLID)
>  -m|--memory-report enable memory usage report (Linux/OSX only, no
> ROCK_SOLID)
> -i|--single-interpreter single interpreter mode (no ROCK_SOLID)
>  -a|--abstract-socket set socket in the abstract namespace (Linux only)
> -T|--enable-threads enable threads support (no ROCK_SOLID)
>  -M|--master enable master process manager
> -H|--home <path> set python home/virtualenv
>  -h|--help this help
> -r|--reaper process reaper (call waitpid(-1,...) after each request)
>  -R|--max-requests maximum number of requests for each worker
> -j|--test test if uWSGI can import a module
>  -Q|--spooler <dir> run the spooler on directory <dir>
> --pidfile <file> write the masterpid to <file>
>  --chroot <dir> chroot to directory <dir> (only root)
> --gid <id> setgid to <id> (only root)
>  --uid <id> setuid to <id> (only root)
> --sync-log let uWSGI does its best to avoid logfile mess
>  --no-server initialize the uWSGI server then exit. Useful for testing and
> using uwsgi embedded module
>  --no-defer-accept disable the no-standard way to defer the accept() call
> (TCP_DEFER_ACCEPT, SO_ACCEPTFILTER...)
>  --paste <config:/egg:> load applications using paste.deploy.loadapp()
> --check-interval <sec> set the check interval (in seconds) of the master
> process
>  --pythonpath <dir> add <dir> to PYTHONPATH
> --pyargv <args> assign args to python sys.argv
>  -d|--daemonize <logfile> daemonize and log into <logfile>
> (ve)yml at yml-laptop:uwsgi_admin$ which uwsgi26
> /opt/www/uwsgi-admin/uwsgi_admin/ve/bin/uwsgi26
>
>
> On Tue, Jan 26, 2010 at 12:44 PM, Roberto De Ioris <roberto at unbit.it>wrote:
>
>> On Tue, 2010-01-26 at 10:24 -0400, Yann Malet wrote:
>> > Roberto,
>> >
>> >
>> > This was the with the latest version:
>>
>>
>> i have committed a very hacky version, unfortunatly setuptools/distutils
>> do not mention installation of binary apps so i have to manually copy
>> (using shutil.copy) the uwsgi executable in the sys.prefix+'/bin' dir.
>>
>> It should work without problems but it is really UGLY.
>>
>> Let me know if it works
>>
>>
>>
>> >
>>
>> --
>> Roberto De Ioris
>> http://unbit.it
>> JID: roberto at jabber.unbit.it
>>
>> _______________________________________________
>> uWSGI mailing list
>> uWSGI at lists.unbit.it
>> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.unbit.it/pipermail/uwsgi/attachments/20100126/4b394487/attachment.htm 


More information about the uWSGI mailing list