Где находится установленный источник ядра?

Здесь есть несколько проблем, о которых я расскажу. Другие уже объяснили это, но, как разработчик Django, я могу добавить некоторые недооцененные проблемы:

Не понимайте связь между серверами, браузерами и DNS. Браузеру требуется DNS для поиска имени и получения IP-адреса для подключения. Сервер не дает летающего банана, имена которого указывают на его IP. Примечание: httpd будет, но не для целей подключения - он использует его для размещения нескольких виртуальных хостов на одном IP-адресе. /etc/hosts может указывать имя домена на IP, но это все. Они не могут указать порт 8000. Это работа браузера. Чтобы разместить что-то на порту 80, вам нужно запустить его как root, перенаправить порт 80 или использовать setcap, чтобы позволить Python запускать порт 80. Последние два очень хаки, но они бесконечно лучше, чем запуск сервера Django dev как корень. Никогда не делай этого. Хостинг нескольких серверов Django dev на одном IP-порту 80 невозможно. Они все будут жадно связываться с ним и запрещать дальнейшие привязки. Вам либо нужно пошатнуть порты, либо привязать к нему httpd / reverse-proxy, чтобы разделить виртуальные хосты на серверах Django.

Для разработки я просто загружаю dev-сервер по мере необходимости. Я запускаю только один за раз, и он работает по умолчанию 127.0.0.0:8000. Если эта модель вам подходит, и вы просто хотите разместить собственное доменное имя, просто что-то подобное вашему /etc/hosts:

127.0.0.1 my.domain.ext sub.my.domain.ext

Вы можете просто сохранить цепочку, но помните, что это происходит для переопределения всего исходящего трафика для запросов в этих доменах. Aka: не забывайте, что вы взломали свой собственный DNS! Оттуда вы просто загрузите http://my.domain.ext:8000, и вы смотрите на свой dev-сервер.

Если вы хотите http://my.domain.ext, вам придется либо взломать вещи (см. Выше), либо перейти на более традиционная инфраструктура (ниже).

Если вам нужно запустить несколько серверов, я действительно могу предложить только запуск соответствующего стека. Я бы запускал nginx + uwsgi + virtualenv stack. Что-то вроде того, что вы будете использовать в производстве. На самом деле, чем ближе вы сможете отразить свою производственную среду, тем лучше. Если вы используете Apache и modwsgi, сделайте это.

Это дает вам лучшую тестовую платформу. Если вам нужно подключиться к отладке, я нахожу настройку uwsgi до регистрации (и мониторинга журнала) подходящей замены для выхода в реальном времени на консоль.

1
задан 16 May 2014 в 02:05

1 ответ

В общем случае, чтобы найти файлы, установленные пакетом, используйте dpkg -L <packagename>

4
ответ дан 24 May 2018 в 07:42

Другие вопросы по тегам:

Похожие вопросы: