Contrib¶
Additional integrations with third parties.
Django uwsigify¶
uwsgify
adds integration with Django Framework.
First add uwsgify
into INSTALLED_APPS
.
INSTALLED_APPS = [
...
'uwsgiconf.contrib.django.uwsgify',
...
]
uwsgi_run¶
uwsgi_run
management command runs uWSGI to serve your Django-based project.
$ ./manage.py uwsgi_run
; Options are available, use --help switch to get help.
$ ./manage.py uwsgi_run --help
Now your project is up and running on http://127.0.0.1:8000
.
By default the command runs your project using some defaults, but you can configure it to your needs
with the help of uwsgicfg.py
(constructed in a usual for uwsgiconf manner) placed near your manage.py
.
from uwsgiconf.config import configure_uwsgi
def get_configurations():
from os.path import dirname, abspath, join
from uwsgiconf.presets.nice import PythonSection
section = PythonSection.bootstrap(
'http://127.0.0.1:8000',
wsgi_module=join(dirname(abspath(__file__)), 'wsgi.py')
)
...
return section
configure_uwsgi(get_configurations)
Note
Embedding. if you’re using pyuwsgi having uWSGI and your entire project compiled into a single binary, and your manage.py is the entrypoint, use –embedded option: myproject uwsgi_run --embedded
.
uwsgi_reload¶
uwsgi_reload
management command reloads uWSGI master process, workers.
$ ./manage.py uwsgi_reload
; Options are available, use --help switch to get help.
$ ./manage.py uwsgi_reload --help
uwsgi_stop¶
uwsgi_stop
management command allows you to shutdown uWSGI instance.
$ ./manage.py uwsgi_stop
; Options are available, use --help switch to get help.
$ ./manage.py uwsgi_stop --help
uwsgi_stats¶
uwsgi_stats
management command allows you to dump uWSGI configuration and current stats into the log.
$ ./manage.py uwsgi_stats
uwsgi_log¶
uwsgi_log
management command allows you to manage uWSGI log related stuff.
$ ./manage.py uwsgi_log --rotate
; Options are available, use --help switch to get help.
$ ./manage.py uwsgi_log --help
uwsgi_sysinit¶
uwsgi_sysinit
management command allows you to generate system service configs (e.g. systemd
)
to start your Django project on system start.
; Dump config to file.
$ ./manage.py uwsgi_sysinit > myapp.service
; Wire up the service config into system directory and start service
$ sudo systemctl enable --now myapp.service
; Watch application log realtime
$ sudo journalctl -fu myapp.service