Quel répertoire dois-je mettre les fichiers?
J'ai essayé public_html mais quand j'ai mis le fichier et cliqué sur setup.py il n'a pas pu démarrer le script.
Ce n'est probablement pas la meilleure chose à exécuter application Django sur cPanel (hébergement mutualisé), pour les raisons suivantes:
La plupart des fournisseurs d'hébergement mutualisé ne vous permettent pas d'installer des bibliothèques qui doivent être compilés. Vous pouvez toutefois encore créer virtualenv et pip installer des paquets en tant qu'ils ne nécessitent pas de quoi être compilé (par exemple, Django)
Performance. Dans mon expérience, il est possible de déployer une simple application Django sur l'hébergement mutualisé cependant, il n'est pas très fiable et ne pas effectuer très bien.
Cependant, il n'est pas à dire que c'est impossible. Ces principales étapes doivent être assez précises pour vous guider vers le droit chemin. Je n'ai pas fait c'est un moment donc il y a peut être des erreurs.
D'abord, vous devez avoir un accès SSH
Connectez-vous à votre compte et de créer virtualenv pour votre projet django
$ cd ~
$ wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.1.tar.gz
$ tar -zxvf virtualenv-1.9.1.tar.gz
$ python virtualenv-1.9.1/virtualenv.py djangovevn
Ajouter virtualenv dossier bin dans le path (à l'intérieur de .bash_profile)
Configurer Django comme d'habitude. Assurez-vous que DEBUG est False
À l'intérieur de public_html créer index.fcgi. Assurez-vous d'utiliser le virtualenv Python path. Django docs sur ce ici.
!/home/<username>/djangovenv/bin/python
import sys, os
# add projects directory to the path so that# settings from the project can be imported
sys.path.insert(0,"/home/<username>/path/to/project")# Switch to the directory of your project #
os.chdir("/home/<username>/path/to/project")# Set the DJANGO_SETTINGS_MODULE environment variable #
os.environ['DJANGO_SETTINGS_MODULE']="project.settings"# Run the fastcgi instance #from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
Configurer le index.fcgi dans public_html/.htaccess
Toutefois, cette méthode va vous rendre fou très rapide. Apache n'est pas fait pour ça, et cette méthode n'est pas populaire pour une raison. Cela devrait être assez bonne au début, cependant, comme vous obtenez plus avancé, le déploiement de Django app, vous devriez envisager d'utiliser une autre fournisseur d'hébergement qui permet plus de flexibilité tels que WebFaction ou heroku.
Notez qu'il y a une table de hachage manquant au début de la index.fcgi fichier. Aussi, pour toute personne qui trouve ce maintenant, le django.core.servers.fastcgi module a été retiré de Django dans la version 1.9 (voir question).
Django est un framework qui s'exécute dans un Python instance, et non pas comme un ensemble de fichiers qui sont servis à partir d'un serveur web, comme HTML ou PHP. Très probablement, vous aurez besoin d'un autre fournisseur d'hébergement web qui héberge applications comme Heroku.
Ce n'est pas vrai. Il est FastCGI... Oui, mais aller dans cette voie se termine généralement dans des quantités massives de temps dépensé pour obtenir l'exécution d'elle même. +1 pour ne pas être un lien d'affiliation 🙂
Ce n'est probablement pas la meilleure chose à exécuter application Django sur cPanel (hébergement mutualisé), pour les raisons suivantes:
pip
installer des paquets en tant qu'ils ne nécessitent pas de quoi être compilé (par exemple, Django)Cependant, il n'est pas à dire que c'est impossible. Ces principales étapes doivent être assez précises pour vous guider vers le droit chemin. Je n'ai pas fait c'est un moment donc il y a peut être des erreurs.
Connectez-vous à votre compte et de créer virtualenv pour votre projet django
Ajouter virtualenv dossier bin dans le path (à l'intérieur de
.bash_profile
)Puis
pip
installer tout ce dont votre projet a besoin. Assurez-vous d'activer virtualenv premièreConfigurer Django comme d'habitude. Assurez-vous que
DEBUG
estFalse
À l'intérieur de
public_html
créerindex.fcgi
. Assurez-vous d'utiliser le virtualenv Python path. Django docs sur ce ici.Configurer le
index.fcgi
danspublic_html/.htaccess
Activer le fastcgi
Tout Fait!
Toutefois, cette méthode va vous rendre fou très rapide. Apache n'est pas fait pour ça, et cette méthode n'est pas populaire pour une raison. Cela devrait être assez bonne au début, cependant, comme vous obtenez plus avancé, le déploiement de Django app, vous devriez envisager d'utiliser une autre fournisseur d'hébergement qui permet plus de flexibilité tels que WebFaction ou heroku.
index.fcgi
fichier. Aussi, pour toute personne qui trouve ce maintenant, ledjango.core.servers.fastcgi
module a été retiré de Django dans la version 1.9 (voir question).OriginalL'auteur miki725
Django est un framework qui s'exécute dans un Python instance, et non pas comme un ensemble de fichiers qui sont servis à partir d'un serveur web, comme HTML ou PHP. Très probablement, vous aurez besoin d'un autre fournisseur d'hébergement web qui héberge applications comme Heroku.
Oui, mais aller dans cette voie se termine généralement dans des quantités massives de temps dépensé pour obtenir l'exécution d'elle même. +1 pour ne pas être un lien d'affiliation 🙂
OriginalL'auteur Ric