Django & Couchdb: как развернуть без сервера Apache - PullRequest
2 голосов
/ 30 марта 2011

Я новичок в CouchDB, так что будьте осторожны ...

Мне действительно нравятся возможности CouchDB, и, насколько я понимаю, он действительно хорошо дополняет Django, но я не совсем понимаю, если двамогут быть развернуты в коммерческой среде.Вот мой вопрос:

Если вы решили использовать Django с CouchDB, значит ли это, что вам нужно развертывать с использованием сервера Apache?В идеале было бы здорово, если бы CouchDB взялся за обслуживание страниц.Из того, что я понимаю, кажется, что если вы хотите обрабатывать веб-логику с использованием инфраструктуры Django, вы должны использовать CGI-совместимый веб-сервер.

РЕДАКТИРОВАТЬ:

Подробнеепояснение: возможно ли использовать инфраструктуру Django и CouchDB БЕЗ другого сервера (чаще всего Apache Server или сервер разработки Django) для обработки запросов?Причина в том, что CouchDB уже разработан для обработки множества одновременных соединений и рассчитан на хорошее масштабирование.Кажется пустой тратой использовать CouchDB, а не использовать его для непосредственного обслуживания страниц.

Ответы [ 3 ]

2 голосов
/ 31 марта 2011

Я использую Django с Couchdb в производстве.У нас есть Django под Apache, но использование Couchdb не влияет на то, под чем работает Django.

В Django вы просто использовали бы библиотеку, чтобы поговорить с Couchdb.Couch использует http как протокол, который библиотека использует для общения с БД.По умолчанию Couch слушает только на локальном хосте.

Couchapp может обслуживать страницы, но я считаю, что Django делает это более элегантным.Кажется, он подходит только для статических страниц и сайтов.

1 голос
/ 30 марта 2011

Я считаю, что у вас есть несколько вариантов, и это действительно сводится к тому, какие цели вы хотите достичь, поскольку каждое решение имеет дополнительные функции / элементы управления.

Можно было бы использовать NGINX и Apache, иметь статические файлы на сервере NGINX для вашего приложения django и, если возможно, иметь возможность создать мост, чтобы он обслуживал вложения файлов из документа couchdb (не уверен, действительно ли это возможно) , Вы также можете использовать NGINX в качестве прокси для части apache / django для обработки логики приложения.

Другим вариантом будет использование «couchapp» для фактического показа контента из вашего couchdb. Который я думаю, вы также можете настроить NGINX в качестве прокси-сервера, который будет располагаться перед couchapp, если вам нужны SEO дружественные URL.

Наконец, возможно, стоит подумать о настройке приложения nodejs с помощью Express. Приложение nodejs выдает дружественные URL-адреса, и, поскольку он полностью состоит из javascript, он может работать лучше с couchdb, чем с django / python.

Я, безусловно, не эксперт в этой области, большая часть моего опыта - это nginx / apache и django, но я довольно давно следил за couchdb, и было время, когда все оставляли его позади nginx в целях безопасности , но я верю, что эти проблемы были решены ... возможно?

0 голосов
/ 14 декабря 2011

Я тоже борюсь с этим вопросом.Кажется пустой тратой, если встроенный веб-сервер CouchDb;тот, который обслуживает Futon, не может быть использован для сложных приложений.

Я обнаружил следующее:

Можно разместить правила перезаписи в CouchDb, как описано здесь: http://blog.couchbase.com/rewrites-and-virtual-hosting-introduction, и можно отобразить простые страницы в элегантную сеть.URLs.Но мне кажется, что такой сервер будет обслуживать страницы только в рамках базы данных на основе документов CouchDb (т. Е. Приложений CRUD, которые обрабатывают данные в CouchDb). Такие веб-сайты будут изначально масштабируемыми с использованием встроенных функций репликации CouchDb *.1007 *

В тех ситуациях, когда требуется приложение CGI, я думаю, что нужно будет запустить другой сервер;скажем, на поддомене, используя более традиционный сервер, такой как Apache, Ngnix и т. д. Но это может нарушить масштабируемость.Было бы неплохо, если бы кто-нибудь показал мне, как вызывать CGI из самой CouchDb.Это было бы действительно замечательно

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