2017-01-30 2 views
2

Я новичок, и я застреваю, пытаясь понять, как развернуть мои приложения на выделенном сервере.Как запустить несколько приложений Golang на выделенном сервере?

Когда я работал с PHP я использовал стандартную установку:

Apache and PHP diagram

Но я запутался, как я должен развернуть свои приложения Go.

Я знаю, что могу запустить единственное приложение на порту :80, но как запустить несколько приложений?

Это общая идея:

Multiple apps diagram

Или я должен использовать что-то вроде этого:

Nginx diagram

Может кто-то уточнить, как большинство разработчиков Go развернуть свои приложения? Спасибо!

+0

Если вы хотите несколько приложений на порт 80, то правильный веб-сервер, противостоя приложения является хорошим способом пойти. Nginx или Apache должны справиться с этим легко (мое предпочтение - Nginx) – sberry

ответ

3

Я бы очень хотел пообщаться с Кэдди. Вы можете настроить свой сервер со всеми приложениями на разных портах (например, более высокие порты, то есть 1024 и выше, поэтому им не нужно быть root), а затем используйте директивы proxy для пересылки трафика в ваши приложения и т. Д. В качестве бонуса вы также получите бесплатную поддержку шифрования Let's Encrypt!

https://caddyserver.com/docs/proxy больше на proxy директивы

3

Если вам нужно несколько приложений для обслуживания HTTP запросов, вы должны обязательно рассмотреть вопрос об использовании Nginx в качестве reverse proxy. Вы можете пересылать все запросы по определенному маршруту, скажем/api на одну услугу и/или на вторую услугу, при условии, что они связаны с разными портами.

+1

Кроме того, с этой установкой программы Go можно настроить на прослушивание в [Unix-доменном сокете] (http://nginx.org/en/docs/http/ngx_http_proxy_module .html # proxy_pass); передача данных между UD-сокетами происходит очень быстро, поскольку это всего лишь копирование данных между буферами памяти (в отличие от пропуска через полный стек TCP). – kostix

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