Bereitstellungsanleitung

Diese Anleitung bietet Anweisungen zur Bereitstellung der JudaicaLink-Projekte in einer Produktionsumgebung, einschließlich Django-basierter Anwendungen, Solr, Redis, Apache Jena Fuseki und Nginx.

Systemanforderungen

Stellen Sie sicher, dass Ihr System die folgenden Anforderungen erfüllt:

  • Betriebssystem: Ubuntu 22.04 LTS (empfohlen)

  • Python: 3.8+

  • Docker & Docker Compose: Neueste Version

  • Nginx: Neueste Version

  • PostgreSQL: 14+

  • Solr: 9+

  • Redis: 6+

  • Apache Jena Fuseki: 4.5+

Einrichten des Servers

System aktualisieren

sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl wget unzip build-essential

Einen neuen Benutzer für die Bereitstellung erstellen

sudo adduser deploy
sudo usermod -aG sudo deploy
su - deploy

Einrichten von PostgreSQL

1. PostgreSQL installieren

sudo apt install -y postgresql postgresql-contrib

2. Eine Datenbank und einen Benutzer erstellen

sudo -u postgres psql
CREATE DATABASE judaicalink;
CREATE USER judaicauser WITH ENCRYPTED PASSWORD 'securepassword';
GRANT ALL PRIVILEGES ON DATABASE judaicalink TO judaicauser;
\q

Einrichten der Python-Umgebung

1. Python-Abhängigkeiten installieren

sudo apt install -y python3-pip python3-venv
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Einrichten von Solr

1. Solr installieren

wget https://downloads.apache.org/solr/latest/solr-9.0.0.tgz
tar xzf solr-9.0.0.tgz
sudo bash solr-9.0.0/bin/install_solr_service.sh solr-9.0.0.tgz

2. Solr starten und einen Core erstellen

sudo systemctl start solr
sudo -u solr solr create -c judaicalink

Einrichten von Redis

sudo apt install -y redis-server
sudo systemctl enable redis
sudo systemctl start redis

Einrichten von Apache Jena Fuseki

1. Fuseki herunterladen und installieren

wget https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.5.0.tar.gz
tar -xzf apache-jena-fuseki-4.5.0.tar.gz
cd apache-jena-fuseki-4.5.0

2. Fuseki-Server starten

./fuseki-server --update --mem /ds &

3. RDF-Daten laden

curl -X POST --data-binary @data.rdf -H "Content-Type: application/rdf+xml" http://localhost:3030/ds/data

Einrichten von Nginx

1. Nginx installieren

sudo apt install -y nginx

3. Die Nginx-Konfiguration aktivieren

sudo ln -s /etc/nginx/sites-available/judaicalink /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Bereitstellung der Django-Anwendung

1. Umgebungsvariablen einrichten

export DJANGO_SETTINGS_MODULE=judaicalink.settings.production
export DATABASE_URL=postgres://judaicauser:securepassword@localhost/judaicalink

2. Migrationen ausführen und statische Dateien sammeln

python manage.py migrate
python manage.py collectstatic --noinput

3. Den Gunicorn-Dienst starten

pip install gunicorn
gunicorn --workers 3 --bind unix:/tmp/gunicorn.sock judaicalink.wsgi:application &

Automatisierung der Bereitstellung mit Docker

Für eine einfachere Bereitstellung verwenden Sie Docker Compose.

1. Docker und Docker Compose installieren

sudo apt install -y docker.io
sudo curl -L "https://github.com/docker/compose/releases/download/latest/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

2. Docker Compose ausführen

docker-compose up -d --build

Überprüfung der Bereitstellung

Überprüfen Sie, ob alle Dienste korrekt laufen:

redis-cli ping

Fehlerbehebung & Support

  • Datenbankverbindungsfehler? Stellen Sie sicher, dass PostgreSQL läuft und die Anmeldeinformationen korrekt sind.

  • Nginx bearbeitet keine Anfragen? Überprüfen Sie die Protokolle mit:

sudo journalctl -u nginx --no-pager
  • Gunicorn-Prozess gestoppt? Starten Sie ihn neu:

pkill gunicorn && gunicorn --workers 3 --bind unix:/tmp/gunicorn.sock judaicalink.wsgi:application &

— Diese Anleitung gewährleistet eine robuste und skalierbare Bereitstellung von JudaicaLink. 🚀