I denne vejledning vil vi gennemgå, hvordan du kan installere Django, en populær webapplikationsramme, sammen med PostgreSQL, Nginx og Gunicorn på en Rocky Linux 9-server. Denne installation kan være særligt nyttig for brugere af en VPS-server.
Forudsætninger
- Rocky Linux 9 installeret på din server.
- Root-adgang eller sudo-rettigheder.
- En aktiv internetforbindelse.
- Python 3.6 eller højere installeret.
- Pip installeret til Python-pakkeadministration.
Trin 1: Opdater systemet
Først skal du opdatere dit system:
sudo dnf update -y
Trin 2: Installer PostgreSQL
Installer PostgreSQL-databasen:
sudo dnf install postgresql postgresql-server -y
Initialiser PostgreSQL-databasen:
sudo postgresql-setup --initdb
Start og aktiver PostgreSQL-tjenesten:
sudo systemctl start postgresql
sudo systemctl enable postgresql
Trin 3: Opret en PostgreSQL-bruger og database til Django
Log ind på PostgreSQL:
sudo -u postgres psql
Kør følgende kommandoer for at oprette en bruger og database:
CREATE DATABASE django_db;
CREATE USER django_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE django_db TO django_user;
\q
Trin 4: Installer Django og Gunicorn
Installer pip, hvis det ikke allerede er installeret:
sudo dnf install python3-pip -y
Installer Django og Gunicorn:
pip3 install django gunicorn psycopg2-binary
Trin 5: Opret et nyt Django-projekt
Kør følgende kommando for at oprette et nyt projekt:
django-admin startproject myproject
Trin 6: Konfigurer Django til at bruge PostgreSQL
Rediger indstillingerne i myproject/settings.py for at bruge PostgreSQL:
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'django_db',
'USER': 'django_user',
'PASSWORD': 'your_password',
'HOST': 'localhost',
'PORT': '',
}
}
Trin 7: Migrer databasen
Kør migrations for at oprette de nødvendige databaser:
python3 manage.py migrate
Trin 8: Installer Nginx
Installer Nginx-webserveren:
sudo dnf install nginx -y
Trin 9: Konfigurer Nginx til at servere Django-applikationen
Opret en ny konfigurationsfil for Nginx:
sudo nano /etc/nginx/conf.d/myproject.conf
Tilsæt følgende indhold til filen:
<server>
listen 80;
server_name your_domain_or_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /path/to/your/myproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/path/to/your/myproject/myproject.sock;
}
</server>
Trin 10: Start Gunicorn som en systemd-tjeneste
Kør følgende kommandoer for at oprette en systemd-service til Gunicorn:
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=your_user
Group=nginx
WorkingDirectory=/path/to/your/myproject
ExecStart=/usr/local/bin/gunicorn --access-logfile - --workers 3 --bind unix:/path/to/your/myproject/myproject.sock myproject.wsgi:application
[Install]
WantedBy=multi-user.target
Spar filen som /etc/systemd/system/gunicorn.service.
Aktiver og start Gunicorn-tjenesten:
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
Trin 11: Genstart Nginx
Når alt er konfigureret, skal du genstarte Nginx:
sudo systemctl restart nginx
Afslutning
Dine Django-applikationer er nu installeret og kører med PostgreSQL, Nginx og Gunicorn. Denne løsning kan være særligt nyttig for dem, der ønsker at implementere en webapplikation effektivt fra en VPS-server.