Comment afficher correctement les fichiers statiques Django sous l'environnement Amazon Linux2 + Apache

introduction

J'écrirai la méthode de paramétrage pour afficher correctement le fichier statique (css et image) du projet Django dans l'environnement EC2 (Amazon Linux2) + Apache pour rappel.

environnement

Réglages

La méthode d'affichage des fichiers statiques diffère entre le serveur de développement Django et le serveur Web tel qu'Apache. Tout d'abord, réécrivez le contenu de settings.py comme suit.

settings.py


STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static') #Pour la production
# STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")] #Pour le developpement

Après cela, exécutez la commande suivante pour agréger les fichiers statiques sous chaque application dans le dossier statique directement sous le projet.

$ python3 manage.py collectstatic

Ensuite, créez un fichier de configuration Apache sous /etc/httpd/conf.d/. Ici, il est créé avec le nom "myproject.conf".

Exécutez la commande suivante pour modifier le fichier de paramètres.

sudo vi /etc/httpd/conf.d/myproject.conf

myproject.conf



LoadModule wsgi_module /usr/local/lib64/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so

ServerName <Lister l'adresse IP publique d'EC2>

WSGIScriptAlias / /home/ec2-user/myproject/myproject/wsgi.py
WSGIPythonPath /home/ec2-user/myproject:/usr/bin/python3

<Directory /home/ec2-user/myproject/myproject>
  <Files wsgi.py>
     Require all granted
  </Files>
</Directory>

Alias /static/ /home/ec2-user/myproject/static/
<Directory /home/ec2-user/myproject/static>
  Require all granted
</Directory>

Les lignes 1 à 12 servent à associer Apache à mod_wsgi. La 14e ligne et les suivantes sont la description pour autoriser les dossiers statiques.

Enfin, redémarrez Apache.

sudo service httpd restart

Le fichier statique doit maintenant être affiché correctement.

référence

Recommended Posts

Comment afficher correctement les fichiers statiques Django sous l'environnement Amazon Linux2 + Apache
Comment référencer des fichiers statiques dans un projet Django
Comment créer un environnement Python sur Amazon Linux 2
Gestion des fichiers statiques lors du déploiement en production avec Django
Comment afficher une colonne de fichiers spécifiée sous Linux (awk)
[Linux] Comment subdiviser des fichiers et des dossiers
Comment mettre à jour PHP sur Amazon Linux 2
Comment afficher des pictogrammes sur Manjaro Linux
Comment utiliser Tensorflow dans un environnement Docker
Comment trouver des fichiers volumineux sous Linux
Comment utiliser pip3 sous un environnement proxy Remarque
Comment mettre Pyenv sur Amazon Linux et Ubuntu pour créer un environnement Python 3.6.0
Comment créer un environnement Django (python) sur Docker
Copie de fichiers directement d'Amazon EC2 (Amazon Linux) vers S3
Comment télécharger des fichiers dans la vue de classe générique Django
[AWS EC2] Comment installer Maven sur Amazon Linux 2
[AWS] Comment étendre l'espace disque sur Amazon Linux
Une note sur la façon de préparer facilement un environnement de pratique Linux
A propos de la gestion des fichiers statiques Django
J'ai essayé de créer un environnement de MkDocs sur Amazon Linux
Comment afficher la résolution PDF et des informations détaillées sur Linux (pdfinfo)
Apprenez à utiliser Docker en créant un environnement pour Django + MySQL