You are on page 1of 21

Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.

pl/blog/django-uwsgi-nginx-na-ubuntu-16/

1 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

virtualenv
virtualenvwrapper
virtualenv

pip

sudo apt-get update


sudo apt-get install python-pip

sudo apt-get update


sudo apt-get install python3-pip

pip virtualenv
virtualenvwrapper

sudo pip install virtualenv virtualenvwrapper

2 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

sudo pip3 install virtualenv virtualenvwrapper

virtualenvwrapper

Env
WORKON_HOME

pip3

echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc

echo "export WORKON_HOME=~/Env" >> ~/.bashrc


echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc

source ~/.bashrc

Env

virtualenvwrapper

mkvirtualenv firstsite

pip

3 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

(firstsite)user@hostname:~$

PIP

pip sudo

pip install django

cd ~
django-admin.py startproject firstsite

firstsite

./manage.py migrate

db.sqlite3

./manage.py createsuperuser

nano firstsite/settings.py

static

4 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

. . .
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

./manage.py collectstatic

static

sudo ufw allow 8080

./manage.py runserver 0.0.0.0:8080

8080
8080
sudo ufw allow 8080

/admin

5 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

createsuperuser

cd ~
mkvirtualenv secondsite
pip install django

django-admin.py startproject secondsite

6 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

cd ~/secondsite

./manage.py migrate
./manage.py createsuperuser

nano secondsite/settings.py

. . .
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

./manage.py collectstatic

./manage.py runserver 0.0.0.0:8080

http://domena_czy_ip_serwera:8080

http://domena_czy_ip_serwera:8080/admin

workon
workon firstsite

workon secondsite

deactivate

7 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

sudo apt-get install python-dev

sudo apt-get install python3-dev

pip

sudo pip install uwsgi

sudo pip3 install uwsgi

uwsgi --http :8080 --home /home/sammy/Env/firstsite --chdir /home/sammy


/firstsite -w firstsite.wsgi

~/Env
wsgi.py firstsite
8080

:8080
/admin

8 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

/etc/uwsgi/sites
sudo mkdir -p /etc/uwsgi/sites
cd /etc/uwsgi/sites

.ini

sudo nano firstsite.ini

[uwsgi]

project uid
sudo

base

%(variable_name)

[uwsgi]
project = firstsite
uid = sammy
base = /home/%(uid)

chdir

9 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

wsgi.py

[uwsgi]
project = firstsite
uid = sammy
base = /home/%(uid)

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

[uwsgi]
project = firstsite
uid = sammy
base = /home/%(uid)

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

master = true
processes = 5

uwsgi

uwsgi

vacuum

10 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

[uwsgi]
project = firstsite
uid = sammy
base = /home/%(uid)

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

master = true
processes = 5

socket = /run/uwsgi/%(project).sock
chown-socket = %(uid):www-data
chmod-socket = 660
vacuum = true

sudo cp /etc/uwsgi/sites/firstsite.ini /etc/uwsgi/sites/secondsite.ini

sudo nano /etc/uwsgi/sites/secondsite.ini

project

[uwsgi]
project = secondsite
uid = sammy
base = /home/%(uid)

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

master = true
processes = 5

socket = /run/uwsgi/%(project).sock
chown-socket = %(uid):www-data
chmod-socket = 660
vacuum = true

11 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

/etc/systemd/system
uwsgi.service
sudo nano /etc/systemd/system/uwsgi.service

[Unit]

[Unit]
Description=uWSGI Emperor service

[Service] ExecStartPre

/run/uwsgi
www-data
mkdir -p chown

ExecStart
uwsgi

/etc/uwsgi/sites

[Unit]
Description=uWSGI Emperor service

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

12 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

[Install]

[Unit]
Description=uWSGI Emperor service

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown sammy: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

www-data

sudo apt-get install nginx

sudo nano /etc/nginx/sites-available/firstsite

13 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

server {
listen 80;
server_name firstsite.com www.firstsite.com;
}

server {
listen 80;
server_name firstsite.com www.firstsite.com;

location = /favicon.ico { access_log off; log_not_found off; }


location /static/ {
root /home/sammy/firstsite;
}
}

uwsgi /etc/nginx/uwsgi_params

server {
listen 80;
server_name firstsite.com www.firstsite.com;

location = /favicon.ico { access_log off; log_not_found off; }


location /static/ {
root /home/sammy/firstsite;
}

location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/firstsite.sock;
}
}

sudo cp /etc/nginx/sites-available/firstsite /etc/nginx/sites-available


/secondsite

14 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

sudo nano /etc/nginx/sites-available/secondsite

firstsite
secondsite server_name

server {
listen 80;
server_name secondsite.com www.secondsite.com;

location = /favicon.ico { access_log off; log_not_found off; }


location /static/ {
root /home/sammy/secondsite;
}

location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/secondsite.sock;
}
}

sites-
enabled
sudo ln -s /etc/nginx/sites-available/firstsite /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-available/secondsite /etc/nginx/sites-enabled

sudo nginx -t

sudo systemctl restart nginx

sudo systemctl start uwsgi

8080
sudo ufw delete allow 8080
sudo ufw allow 'Nginx Full'

15 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

sudo systemctl enable nginx


sudo systemctl enable uwsgi

16 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

17 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

18 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

19 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

20 z 21 24.03.2021, 21:57
Obsługa Django z uWSGI oraz Nginx na Ubuntu 16.04 - Hostovita.pl https://hostovita.pl/blog/django-uwsgi-nginx-na-ubuntu-16/

21 z 21 24.03.2021, 21:57

You might also like