2014-11-22 2 views
0

Я пишу веб-сайт для мобильного приложения. Он должен поддерживать HTTPS. Большая часть моего опыта работы в .NET, но для этого я хочу использовать Go/Golang. У меня есть готовый сервис, теперь мне нужно убедиться, что он готов к производству. В .NET Я просто использую IIS, но я не знаю, что было бы хорошим подходом для Go.
Должен ли я иметь nginx в качестве обратного прокси, или лучше использовать FastCGI? И как убедиться, что приложение go go up и будет работать при перезагрузке системы? следует ли использовать выскочку или что-то подобное?Развертывание Go/Golang REST Web API для производства

+1

У меня были хорошие результаты, используя Nginx поверх API Go; Nginx заботится о SSL и добавляет поддержку SPDY и т. Д. Легко. Используя Nginx handle deflate/gzip, SSL также упростит ваш код Go API. –

+0

Вы используете nginx в качестве обратного прокси-сервера или используете FastCGI? И как вы поддерживаете свое приложение? – Tamerlane

+0

Nginx как обратный прокси - это бомба da, отлично работает и для меня, с рабочей нагрузкой сотен устойчивых RPS –

ответ

0

Я использую Nginx FastCGI с веб-сервисом Go - они хорошо работают вместе. Это не сложнее настроить, чем обратное проксирование HTTP - за исключением того, что вам нужно научиться этому. Производительность в принципе должна быть намного лучше, но у меня нет никаких измерений, чтобы оправдать эту догадку. Мой веб-сервис может работать как в режиме HTTP, так и в режиме FastCGI (один или другой за раз), поэтому я полагаю, что я должен выполнить некоторый бенчмаркинг (обратите внимание на себя!).

Если вам нужен правильный запуск системы (и вам нужно), вам нужно узнать, как работают скрипты init. Я иногда обманываю и начинаю с существующего рабочего скрипта, который кто-то написал для подобного приложения и настроил его для работы с моим.

0

Я использовал nginx в качестве обратного прокси для проектов Go. Я обнаружил, что гораздо проще настроить полезные параметры сервера, такие как TLS, сжатие и т. Д., В nginx, а не как чистый сервер Go.

Сохранение его при перезагрузке сервера является более сложным вопросом. Я бы посоветовал научиться писать сценарий/что угодно для демона инициализации сервера и просто делать это именно так.

Смежные вопросы