Я в настоящее время испытываю платформу Django, и я совместно использовал бы/представил бы/показал бы некоторый материал, который я сделал своему коллеге/друзьям. Я работаю в Ubuntu под Win7 через VMware. Таким образом, мое желание/требование состоит в том, чтобы отправить мой текущий IP паба с портом (например, http://123.123.123.123:8181/django-app/) моим друзьям, таким образом, они могли протестировать его.
проблема - я использую сервер Dev django (Python/path-to-django-app/manage.py runserver $IP: $PORT).
Как я обнародовал devserver?
Править:
О, существует что-то, что я забыл упоминать. Как я печальный я использую VMware с Ubuntu. У меня есть сценарий оболочки, который возвращает меня мой текущий международный IP 192.168.xx.xx и сохраняет его в переменной среды ($CUR_IP) Так, каждый раз, когда я хочу выполнить devserver django, который я просто выполняю
python /path-to-django-site/manage.py runserver $CUR_IP:8080
В этом пути я становлюсь http-адресом (e.g.http://192.168.40.145:8080/app-name/) который я ИСПОЛЬЗОВАНИЕ CAN ВНЕ моей виртуальной машины. Я мог протестировать его на своем хосте (win7) машина. Это - на самом деле причина, почему я задал вопрос. Я думал, что существует способ использовать экс-подсказку и сделать runserver применимый снаружи также
192.168. *. *
является Частный адрес локальной сети - после того, как вы выполнили правильные действия VMWare (или другого диспетчера виртуальных машин) и брандмауэра, чтобы сделать его доступным из локальной сети, он по-прежнему не будет доступен извне локальной сети, то есть из Интернета в целом. (Это тоже хорошо, потому что такие серверы разработки не предназначены для обеспечения безопасности и масштабируемости).
Чтобы сделать какой-либо порт машины с частным IP-адресом локальной сети видимым для Интернета в целом, вам понадобится маршрутизатор с возможностью «виртуальных серверов» (многие маршрутизаторы, даже дешевые, предлагают такую возможность, но это невозможно. конкретно о его включении, поскольку у каждого бренда есть свой собственный способ). Я бы также порекомендовал dyndns или другой подобный сервис, чтобы связать стабильное DNS-имя с вашим постоянно меняющимся общедоступным IP-адресом (если, конечно, вы не тратитесь на статический IP-адрес от своего провайдера подключения, но последний вариант становится все дороже).
superuser.com или serverfault.com могут предоставить более точные ответы и подробности (если вы укажете все до единой детали своей конфигурации в вопросе), поскольку вопрос не имеет ничего общего с разработкой программного обеспечения и все, что связано с администрированием сервера и конфигурация.
python manage.py runserver 0.0.0.0:8181
Это запустит сервер разработки , который должен прослушивать все IP-адреса на порту 8181.
Обратите внимание, что с 17 июня 2011 г. Django Сервер разработки по умолчанию имеет многопоточность (номер билета 1609) .
Из документации:
Обратите внимание, что IP-адрес по умолчанию, 127.0.0.1, недоступен с других компьютеров в вашей сети. К сделайте ваш сервер разработки видимым к другим машинам в сети используйте собственный IP-адрес (например, 192.168.2.1) или 0.0.0.0.
Вам необходимо настроить мостовую сеть в VMWare, а также предоставить доступ к целевому порту в брандмауэре Ubuntu.