развертывание web.py для серверной части приложения iOS - PullRequest
2 голосов
/ 17 октября 2011

В настоящее время я разрабатываю приложение для iOS, которому необходим бэкэнд для получения данных. Я реализовал серверную часть, используя Python, web.py и pymongo.

Я развернул все в экземпляре EC2, назначил эластичный IP-адрес экземпляру, который устройства iOS вызывают для доступа к бэкэнду, и запустил приложение через SSH, выполнив:

nohup python main.py &

Все работает отлично (пара десятков пользователей в день, с потенциалом роста; объем передаваемых данных редко превышает несколько килобайт), но мне интересно, является ли это правильным способом сделать что-то.

Например, на веб-сайте web.py они объясняют способы использования web.py с Apache, lightppd и т. Д .; это просто особые случаи, или я должен развертывать свой бэкэнд, используя один из этих полнофункциональных серверов?

Ответы [ 2 ]

2 голосов
/ 21 октября 2011

FWIW, мы используем CherryPy (веб-сервер, «встроенный» в web.py) позади nginx для обслуживания большей части HTML на Oyster.com - nginx разделяет трафик на 2 или 3 веб-серверах, на каждом из которых выполняется 4 процесса Python, и мы можем легко обрабатывать сотни запросов в секунду.

Однако мы используем сеть доставки контента (CDN) для наших статических ресурсов, таких как изображения и CSS.

1 голос
/ 17 октября 2011

Я бы абсолютно использовал полноценный веб-сервер, а не тот, который встроен в web.py, хотя пока все будет в порядке, если трафик останется низким.Я думаю, что тот, который встроен в web.py, должен использоваться для отладки, а не для производства.

В основном вопрос о том, какой из этих серверов вы используете, но мне нравится Nginx с uWSGI .

...