Configuring UWSGI with Python, Django, and NGINX: Difference between revisions

No edit summary
No edit summary
Line 14: Line 14:
[Service]
[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown www-data:www-data /run/uwsgi'
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown www-data:www-data /run/uwsgi'
#ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
#ExecStart=/usr/local/bin/uwsgi --http 0.0.0.0:8001 --wsgi-file stocks/wsgi.py --master -b 30000 --enable-threads --processes 4 --threads 2
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
Restart=always
Line 41: Line 39:


chdir = %(base)/%(project)
chdir = %(base)/%(project)
#wsgi-file = %(project)/wsgi.py
module=%(project).wsgi:application
module=%(project).wsgi:application
#module=django.core.handlers.wsgi:WSGIHandler()


master = true
master = true
Line 50: Line 46:


http = 0.0.0.0:8001
http = 0.0.0.0:8001
#chown-socket = %(uid):www-data
#chmod-socket = 664
#vacuum = true
#plugins=python</pre>

Revision as of 12:42, 1 November 2020

Install uwsgi:

apt-get install build-essential python
sudo pip3 install uwsgi

Create a service in /etc/systemd/system/uwsgi.service

[Unit]
Description=uWSGI Emperor service

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown www-data:www-data /run/uwsgi'
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

[Install]
WantedBy=multi-user.target

Create an emperor file at:

sudo mkdir /etc/uwsgi
sudo mkdir /etc/uwsgi/sites
sudo vi /etc/uswsgi/sites/stocks.ini

And then add:

[uwsgi]
project = stocks
uid = bpopp
base = /usr/share/nginx/html/django

chdir = %(base)/%(project)
module=%(project).wsgi:application

master = true
processes = 5
threads=2

http = 0.0.0.0:8001