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
2. Nginx für JudaicaLink konfigurieren
sudo nano /etc/nginx/sites-available/judaicalink
Fügen Sie die folgende Konfiguration hinzu:
server {
listen 80;
server_name judaicalink.org;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
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:
Django-Anwendung: http://127.0.0.1:8000
Nginx: http://localhost
SPARQL-Endpunkt: http://localhost:3030/ds
Solr Admin UI: http://localhost:8983/solr
Redis-Status:
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 &
Brauchen Sie Hilfe? Kontaktieren Sie uns unter https://labs.judaicalink.org/contact/
— Diese Anleitung gewährleistet eine robuste und skalierbare Bereitstellung von JudaicaLink. 🚀