Mac OS X веб-общий доступ и Django - PullRequest
       30

Mac OS X веб-общий доступ и Django

4 голосов
/ 06 декабря 2009

Я создал веб-приложение с Django, и оно запущено на локальном хосте (http://127.0.0.1:8000/),. Мой вопрос: как я могу сделать его доступным для всего мира, используя общий доступ к Mac OS X или что-то в этом роде?

Спасибо!

Ответы [ 3 ]

12 голосов
/ 06 декабря 2009

При запуске сервера укажите публичный ip или для любого использования ip 0.0.0.0

Пример:

sudo python manage.py runserver 0.0.0.0:80

Если вы запускаете свое приложение без ip и переносите его привязку только для обратной связи, которая является 127.0.0.1 и не будет доступна в вашей сети.

3 голосов
/ 06 декабря 2009

Во-первых, я бы настоятельно предложил вам не обслуживать веб-сайт с вашего Mac. Это действительно плохая идея ™. Общий доступ к Mac OS X и http-сервер Django (который, я полагаю, вы используете) предназначены только для целей тестирования по ряду причин, касающихся скорости, безопасности и других. что, честно говоря, слишком долго, чтобы размещать здесь (но я надеюсь, что кто-то будет :)

Во-вторых, он уже открыт для всего мира: любой может подключиться к вашему компьютеру, используя ваш IP-адрес вместо loopback 127.0.0.1 (если вы не NAT). Это, опять же, весьма полезно для тестирования (и пусть ваши друзья / коллеги / боссы) протестируют его временно , но опять-таки не подходит для производственного использования. В самом деле.

0 голосов
/ 06 декабря 2009

Это зависит от того, какова ваша настоящая цель, что вы подразумеваете под "доступными миру ... или чем-то". Если вы хотите, чтобы он был постоянно доступен из Интернета, вам нужно разместить его на сервере (будь то общий или выделенный), вы не будете держать свой Mac включенным вечно, не так ли? :)

Для размещения Django на виртуальном хостинге - я бы порекомендовал webfaction, пошаговые руководства по настройке проекта Django можно найти в их скринкастах и ​​на форумах (9.50 $ в месяц за базовый план, с возвратом денег в течение двух месяцев гарантию, которая реально работает, попробовал сам :). Дополнительные параметры в Djangofriendly.com

Для выделенного сервера спросите себя, предпочитаете ли вы сами управлять всем сервером (ОС, веб-сервером, сервером базы данных, memcache, firewall, резервными копиями ...). Если ответ «да», проверьте Linode , Rackspace , или Slicehost или даже Amazon Web-сервисы , но имейте в виду это дороже, это намного сложнее, но это то, что дает вам максимальную гибкость. Когда вы будете готовы попробовать - , это один из лучших учебных пособий, которые я нашел в сети для данного предмета .

Если все, что вам нужно, это подтверждение концепции, что «все, к чему я могу получить доступ через мой веб-браузер, должно быть доступно из любой точки мира», спросите у своего интернет-провайдера, если вам присвоен частный IP-адрес. Если нет, хм, лучше перейдите на варианты, упомянутые выше :) Если вы это сделаете, то узнайте, какой это IP, посетив whatismyipaddress.com . Затем запустите веб-сервер, как предложил Прашант, и введите IP-адрес с сайта whatismyip.org в своем браузере. Получить ничего? а) отключить брандмауэр MacOSx. еще ничего? б) подключите ваш Mac напрямую к Ethernet-кабелю, предоставленному вашим провайдером, без промежуточного маршрутизатора. Повторите попытку ввода вашего чужого IP в браузере. Работает? Отлично, зайдите в Google «Переадресация портов», это скажет, что вы должны настроить свой маршрутизатор так, чтобы он имел тот же эффект, когда он используется. Не правда ли? Задайте отдельный вопрос в stackoverflow и предоставьте как можно больше информации о том, что вы делаете.

Mac OS Веб-совместный доступ бесполезен, если пакеты не маршрутизируются правильно, чтобы добраться до вашего компьютера в сети. Я думаю, все, что он может сделать, это запустить apache и открыть несколько портов в брандмауэре. Но если ваш персональный маршрутизатор или Интернет-провайдер не будут пересылать внешние пакеты на ваш компьютер - вы не получите того, что хотите.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...