Comment faire de Django reinhardt, devserver public ? Est-il possible?
Je suis en train d'essayer le framework Django et je voudrais partager/présent/montrer certaines choses que j'ai faites à mon collègue de travail et/ou les amis. Je travaille dans Ubuntu sous Win7 via VMware. Donc, mon souhaiter/désir est d'envoyer ma pub-IP avec le port (e.g http://123.123.123.123:8181/django-app/) à mes amis, alors qu'ils pourraient les tester.
le Problème - je utiliser django serveur de Dev (python /path-to-django-app/manage.py runserver $IP:$PORT).
Comment puis-je faire la devserver public?
EDIT:
Oh, il y a quelque chose que j'ai oublié de mentionner. Comme je l'ai triste j'utilise VMware avec Ubuntu. J'ai un shell script qui me renvoie mon int-IP 192.168.xx.xx et l'enregistre dans un environnement variable ($CUR_IP)
Donc, à chaque fois que je veux lancer de django reinhardt, devserver j'ai simplement exécuter
python /path-to-django-site/manage.py runserver $CUR_IP:8080
À ce que je devienne un http-adresse (par exemple,http://192.168.40.145:8080/app-name/) que je PEUX UTILISER à l'EXTÉRIEUR de ma machine virtuelle. J'ai pu le tester sur ma machine (win7) de la machine. C'est d'ailleurs la raison pourquoi j'ai posé la question. J'ai pensé il y a un moyen d'utiliser la poste-IP et de faire runserver utilisable à l'extérieur de trop
- À partir de ce que je me souviens de l'Django docs, je pense que le serveur de dev n'a pas été la sécurité, testé, donc c'est vraiment n'est pas recommandé. Et que le rébus dit, c'est à thread unique, de sorte que les performances en vertu de la charge sera de la merde. Le mieux pour l'utilisation d'apache + plugins, ou quoi que ce soit.
- La sécurité et les performances ne sont PAS la grosse affaire. La seule chose que je veux, c'est montrer ce que j'ai fait et comment il ressemble. Il y a actuellement seulement une ou deux personnes qui seraient intéressés pour voir cette primitive-merde au travail =)
Vous devez vous connecter pour publier un commentaire.
192.168.*.*
est une LAN-adresse privée -- une fois que vous avez fait le bon VMWare (ou autre gestionnaire de machine virtuelle) et de pare-feu des incantations pour le rendre accessible depuis le LAN, il persiste à ne pas être accessible depuis l'extérieur du réseau local, c'est à dire, à partir de l'internet au sens large (c'est une bonne chose, parce que de tels serveurs de développement sont pas conçu pour la sécurité et l'évolutivité).Pour faire un port d'une machine avec un FIL-IP privée visible de l'internet en général, vous avez besoin d'un routeur avec un "serveurs virtuels" capacité (nombre de routeurs, même pas cher, l'offrir, mais il est impossible d'être précis sur l'activer car chaque marque a sa propre façon idiosyncrasique). Je vous recommande également les dyndns ou tout autre service similaire à associer un stable nom DNS de votre toujours variant IP publique (sauf si vous êtes de faire des folies pour une adresse IP statique à partir de votre fournisseur de connectivité, bien sûr, mais la dernière option est de plus en plus coûteux de tous les temps).
superuser.com ou serverfault.com peut fournir de meilleures réponses et les détails (une fois que vous donner à chaque petit détail de votre configuration en question), puisque la question n'a rien à voir avec le développement de logiciels et tout à voir avec le serveur d'administration et de configuration.
Ce sera exécuter le serveur de développement qui doit écouter sur toutes les adresses IP sur le port 8181.
Noter que Jun 17, 2011 Django développement serveur est enfilé par défaut (billet #1609).
De docs:
En supposant que vous avez ruby installé, il vous suffit de vous localtunnel:
ensuite, démarrez votre python serveur de développement:
dans un autre shell, commencer localtunnel:
Qui produira une url pour accéder à votre serveur local.
Que c'est.
$ sudo npm install -g localtunnel
, démarrez votre python serveur de développement, puis dans un autre shell$ lt --port 8000
. Source: localtunnel.- moiDéjà répondu, mais l'ajout de mnp suppléant de la même localtunnel
./manage.py runserver 0:8000
et maintenant le site est disponible enlocaltunnel.me
Si vous utilisez Virtualbox, Vous devez modifier le paramètre de réseau en VB de "NAT" à la mode "bridge Adaptateur". Puis redémarrez le linux. Maintenant, si vous exécutez
sudo ifconfig
vous êtes en mesure de voir votre adresse IP comme192.168.*.*
. La dernière étape est runserverpython manage.py runserver 192.168.*.*:8000
Cheers!
J'ai dû ajouter cette ligne à settings.py afin de le faire fonctionner (sinon on affiche une erreur lors de l'accès à partir d'un autre ordinateur)
puis a couru le serveur avec:
Vous avez besoin pour configurer la mise en réseau pontée dans VMWare et permet également l'accès au port cible dans Ubuntu pare-feu.