1. Virtuelle Umgebung virtualenv installieren 1. Installieren Sie virtualenv
2. Erstellen Sie ein Verzeichnis und übertragen Sie die Projektdateien
3. Erstellen Sie eine unabhängige Betriebsumgebung-Benennung
4. Betreten Sie die virtuelle Umgebung
5. Installieren Sie Drittanbieterbibliotheken in der virtuellen Umgebung und importieren Sie die erforderliche Umgebung (Exportbefehl: pip3 freeze > packages.txt)
6. Verlassen Sie die venv1-Umgebung
7. Wie erstellt virtualenv eine „unabhängige“ Python-Laufzeitumgebung? Das Prinzip ist sehr einfach: Kopieren Sie einfach das System-Python in die Virtualenv-Umgebung. 2. Django-Konfiguration 1.einstellungen.py DEBUG = False #debug in false geändert ALLOWED_HOSTS = ['*'] # Ändern Sie die Zugriffsadresse in "*", um alle anzuzeigen STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),"static") #Das von nginx aufgerufene Verzeichnis wird im vorherigen statischen Verzeichnis abgelegt. Sie können den absoluten Pfad STATIC_URL = '/static/' anpassen. STATICFILES_DIRS = [os.path.join(BASE_DIR,"static"),] MEDIA_URL = "/archiv/" MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'Archiv') #Von Benutzern hochgeladene statische Dateien, wie etwa Avatare Führen Sie nach Abschluss der Konfiguration 2.urls.py von django.urls importiere Pfad, re_path aus django.conf Importeinstellungen von django.views.static importiere serve URL-Muster = [ re_path(r'^archive/(?P<Pfad>.*)$', dienen, {'document_root': settings.MEDIA_ROOT}, name='archive'), #Pfad der vom Benutzer hochgeladenen Datei('favicon.ico', serve,{'path': 'img/favicon.ico','document_root':settings.STATIC_ROOT}), #Globales favicon.ico-Symbol] 3. Installieren und konfigurieren Sie uwsgi 1. Rufen Sie die virtuelle Umgebung venv1 auf und installieren Sie uwsgi (am besten außerhalb der virtuellen Umgebung installieren).
2. Konfigurieren Sie die Startdatei (Sie können sie in ein beliebiges Verzeichnis legen, ich habe sie in venv1 abgelegt). #Konfigurationsoptionen hinzufügen [uwsgi] #Konfigurieren Sie die Socket-Verbindung zu Nginx Socket = 127.0.0.1:8000 #http=0.0.0.0:8000 #http-Verbindung #Konfigurieren Sie den Projektpfad, das Verzeichnis, in dem sich das Projekt befindet chdir = /opt/My/Myproject #Konfigurieren Sie den Dateipfad des wsgi-Schnittstellenmoduls, dh den Verzeichnisnamen, in dem sich die Datei wsgi.py befindet wsgi-file = Myproject/wsgi.py #Konfigurieren Sie die Anzahl der gestarteten Prozesse process=4 #Konfigurieren Sie die Anzahl der Threads für jeden Prozess threads=2 #Konfigurieren Sie den Masterprozess für die Startverwaltung master=True #Home des virtuellen Umgebungsverzeichnisses=/opt/My/venv1 #Konfigurieren Sie die Prozessnummerndatei zum Speichern des Hauptprozesses (ich habe sie auskommentiert, da sie angeblich mit dem Supervisor-Protokoll in Konflikt steht). #pidfile=uwsgi.pid #Dump-Protokollierung konfigurieren (wie oben) #daemonize=uwsgi.log 3. Beginnen Sie mit der Angabe einer Konfigurationsdatei
4. Installieren und konfigurieren Sie nginx 1. Installieren Sie nginx auf centos8 (direkte Yum-Installation)
2. Konfigurieren Sie nginx.conf Benutzer nginx; worker_processes 2; #Anzahl der Prozesse error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Dynamische Module laden. Siehe /usr/share/doc/nginx/README.dynamic. schließen Sie /usr/share/nginx/modules/*.conf ein; Ereignisse { Arbeiterverbindungen 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; Zugriffsprotokoll /var/log/nginx/access.log Haupt; sendfile an; tcp_nopush ein; tcp_nodelay ein; KeepAlive-Timeout 65; Typen_Hash_max_Größe 2048; /etc/nginx/mime.types einschließen; Standardtyp Anwendung/Oktett-Stream; # Laden Sie modulare Konfigurationsdateien aus dem Verzeichnis /etc/nginx/conf.d. # Siehe http://nginx.org/en/docs/ngx_core_module.html#include # für weitere Informationen. #include /etc/nginx/conf.d/*.conf; Server { listen 80;#Abhörport#listen [::]:80 Standardserver; server_name 192.168.3.119;# Domänenname oder IP #root /usr/share/nginx/html; # Konfigurationsdateien für den Standardserverblock laden. #include /etc/nginx/default.d/*.conf; Zeichensatz UTF-8; Standort /static { alias /opt/My/static; #Statische Dateiadresse (STATIC_ROOT) } Standort / { uwsgi_params einschließen; uwsgi_pass 0.0.0.0:8000; #Projekt-Portnummer uwsgi_param UWSGI_SCRIPT Myproject.wsgi; #Projekt wsgi.py-Verzeichnis uwsgi_param UWSGI_CHDIR /opt/My/Myproject; #Projektverzeichnis} } } 3. Starten Sie nginx
5. Supervisor installieren und konfigurieren 1. Supervisor installieren
2. Generieren Sie über Befehle Konfigurationsdateien im Verzeichnis etc (können angepasst werden).
3. Fügen Sie am Ende der Konfigurationsdatei den folgenden Code hinzu [Programm: mein Name] #Taskname Befehl=/opt/my/venv1/bin/uwsgi --ini /opt/my/venv1/uwsgi.ini #Der ausgeführte Befehl führt uwsgi aus. uwsgi befindet sich in der virtuellen Umgebung [program:nginx] command=/usr/sbin/nginx #Führen Sie nginx aus 4. Supervisor starten supervisord -c /etc/supervisord.conf #Supervisor starten supervisorctl -c /etc/supervisord.conf #Geben Sie die interaktive Supervisor-Schnittstelle ein 5. Supervisor-Befehl starte meinname #Start\ stop meinname #Stop>> Sie können den Aufgabennamen oder all schreiben, um alle Neustarts anzuzeigen meinname #Restart/ Dies ist das Ende dieses Artikels über das Tutorial zum Bereitstellen von nginx+uwsgi in Django-Projekten unter Centos8. Weitere relevante Inhalte zum Bereitstellen von nginx+uwsgi in Django-Projekten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: JavaScript MouseEvent-Fallstudie
1. Installieren Sie zuerst die Abhängigkeitspaket...
Da die Version, die ich beim Lernen verwendet hab...
1. Legen Sie eine Verzeichnis-Whitelist fest: Leg...
Grafisches Tutorial zur Installation und Konfigur...
Inhaltsverzeichnis Vorwort 1. Deinstallieren Sie ...
[LeetCode] 197.Steigende Temperatur Schreiben Sie...
Laden Sie das Installationspaket von der offiziel...
Vue-Gerüst -> vue.cli Erstellen Sie schnell ei...
<br />In der HTML-Sprache können Sie der Tab...
Es gibt zwei Arten von MySQL-Installationsdateien...
In diesem Artikel wird der spezifische JS-Code zu...
In diesem Artikel wird der spezifische Code von j...
Bei der Behebung von Systemproblemen, Anwendungsv...
Der Installationsprozess entfällt (ich habe es di...
Vorwort Da Computerzahlen Gleitkommazahlen sind, ...