Installera Django på Debian 8

Den här handledningen förklarar hur du installerar Django på Debian 8 (jessie). Jag kommer att visa hur man använder både Python 2 och 3 samt Nginx och PostgreSQL.

Allt som görs i denna handledning görs som root.

Installera paket

För att komma igång måste vi installera några paket.

För Python 2:

apt-get install python-pip python-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

För Python 3:

apt-get install python3-pip python3-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

Konfigurera databaser

Först loggar vi in ​​på användaren postgres.

sudo -u postgres -s

Därefter skapar vi en ny databas. Databasnamnet kan vara vad du vill att det ska vara ( dbnameanvänds här), men du måste vara konsekvent med resten av inställningarna.

createdb dbname

Skapa en användare för den nya databasen. Återigen, det här kan vara vad du vill att det ska vara, men jag använde dbuser. Detta kommer också att be dig att ange ett lösenord.

createuser -P dbuser

Användaren måste nu ges tillgång till databasen. Se bara till att använda rätt databasnamn och användarnamn.

psql
postgres=# GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;
postgres=# \q

Avsluta till root.

exit

Aktivera och starta PostgreSQL:

systemctl enable postgresql
systemctl start postgresql

Ställ in den virtuella miljön

Istället för att bara använda de globala pythonfilerna kommer vi att använda en virtuell miljö. Vi börjar med att skapa en katalog som innehåller allt.

mkdir -p /opt/project

Vi skapar nu miljön. Detta är annorlunda för python 2- och 3-användare.

För Python 2:

virtualenv . -p python

För Python 3:

virtualenv . -p python3

Gå in i den virtuella miljön.

source bin/activate

Installera Django, gunicorn och psycopg2.

pip install django
pip install gunicorn
pip install psycopg2

Om du behöver en specifik version av Django, ändra installationskommandot så att det matchar formatet nedan. Det här exemplet installerar 1.7.8.

pip install django==1.7.8

Vi är nu klara med det för nu, så vi kan inaktivera vår virtuella miljö.

deactivate

Projektuppladdning och konfiguration

Det här är tiden vi laddar upp vårt projekt till servern och vi ser till att alla dess inställningar är korrekta. Du kan använda vilken metod som helst för att göra detta. FTP, SFTP, git, etc är alla sätt att göra detta. Om du använder git för att spåra projektets kod kan du bara klona den till servern. Detta git-kommando kommer att klona projektet till servern och placera det i /opt/project/project/.

git clone http://example.com:project.git

Öppna settings.pyfilen i valfri textwebbläsare.

Först och främst måste felsökningsläget vara avstängt. Leta efter DEBUG = Trueraden och byt Truetill False. Efter detta, se till att du har ALLOWED_HOSTSställt in något värde.

ALLOWED_HOSTS = ['*']

Leta efter DATABASESordboken och den ska se ut så här:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'dbuser',
        'PASSWORD': 'password you set',
        'HOST': 'localhost',
        'PORT': ''
    }
}

Sista steget här är att sätta en statisk rot. Placera följande direkt nedan STATIC_URL.

STATIC_ROOT = '/opt/project/static/'

Avsluta filen och skapa den statiska rotkatalogen.

mkdir -p /opt/project/static

Migrera nu databasen, skapa en superanvändare och samla in alla statiska filer.

cd /opt/project/project
../bin/python manage.py makemigrations
../bin/python manage.py migrate
../bin/python manage.py createsuperuser
../bin/python manage.py collectstatic

Konfigurera Gunicorn

Gunicorn är WSGI-servern som vi kommer att använda. Eftersom Debian 8 kommer med systemd kommer vi att dra fördel av systemd för att starta och stoppa servern.

Skapa filen /etc/systemd/system/django.serviceoch lägg till följande innehåll.

[Unit]
Description=Django with Gunicorn
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/opt/project
ExecStart=/opt/project/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 project.wsgi

[Install]
WantedBy=multi-user.target

Aktivera och starta tjänsten som vi har skapat.

systemctl enable django.service
systemctl start django.service

Nginx

Du kanske har märkt att vi band Gunicorn-servern till 127.0.0.1. Nu behöver vi ett sätt att komma åt det från utanför servern. Det är här Nginx kommer in.

Skapa den nya filen /etc/nginx/sites-available/djangooch lägg till följande. Delen domain.example.comkan ställas in till vad du vill att den ska vara.

server {
        listen 80;
        server_name domain.example.com;
        access_log off;

        location /static/ {
                alias /opt/project/static/;
        }

        location / {
                proxy_pass http://127.0.0.1:8000;
        }
}

Skapa en symbolisk länk för att aktivera den här webbplatsen.

ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/django

Aktivera och starta Nginx.

systemctl enable nginx
systemctl start nginx

Slutsats

Grattis, du har nu en fungerande Django-webbplats på din Debian VPS.

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer