web.py развертывание для серверной части приложения iOS

#python #backend #web.py

#python #серверная часть #web.py

Вопрос:

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

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

 nohup python main.py amp;
  

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

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

Ответ №1:

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

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

Ответ №2:

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

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

Комментарии:

1. На самом деле, CherryPy, веб-сервер, «встроенный в» web.py , является довольно быстрым веб-сервером. Мы используем это за nginx для веб-сайта с высоким трафиком — см. Также Мой ответ.

2. @benhoyt: Похоже, вы правы; Я не понял web.py использовала вишневый пирог. (Я думал, что он используется BaseHTTPServer ), спасибо вам.