@DDanya

Go + Nginx: научите использовать правильно

Здравствуйте, с пасхой вас.
Как я знаю, идеальный вариант реализации веб-сервера на Go - это связать его с Nginx. А я не особо использовал раньше Nginx и тут встав вопрос: как лучше обращаться к Go, через Proxy или FastCGI?Не могу проверить вообще, так как на рабочей машине Windows. И ещё очень странный вопрос: нужно-ли при таком подходе компилировать Go? Просто где-то видел пример кода, когда обращаются к исходному файлу с расширением .go. Хотя правильней использовать бинарник. Или я неправ? Прошу не кидать камнями, я только учусь правильному написанию веб-сайтов на Go.
  • Вопрос задан
  • 8717 просмотров
Решения вопроса 1
Tyranron
@Tyranron
как лучше обращаться к Go, через Proxy или FastCGI?

И так и так хорошо. Я все же предпочитаю вариант проксировать запросы на Go.

Не могу проверить вообще, так как на рабочей машине Windows.

Это не проблема, поставьте виртуалку и вперед. В конце-концов: личный опыт лучше любых объяснений.

И ещё очень странный вопрос: нужно-ли при таком подходе компилировать Go? Просто где-то видел пример кода, когда обращаются к исходному файлу с расширением .go.

Компилировать нужно, особенно в случае большого приложения.
Да, можно сделать:
go run file.go
Но, во-первых, код все равно компилируется в бинарник и выполняется при таком подходе, просто это происходит в папке с временными файлами и как бы скрыто от Вас.
Во-вторых, этот подход не катит, если в папке с проектом больше файлов нежели file.go (имеется в виду на уровне package main).
В-третьих, это обязует Вас иметь установленный Go соответственной версии на production серверах, когда обычный бинарник этого не требует.
В-четвертых, а как быть в таком случае с демонизацией и zero downtime reloads? Да, можно, но неудобно, учитывая что каждый раз нужно будет перекомпиливать.
Лучше скомпилировать один раз и не заморачиваться.
Команда go run больше подходит для небольших файлов аля скрипт для выполнения одноразовой работы и тому подобное.

Прошу не кидать камнями, я только учусь правильному написанию веб-сайтов на Go.

Учиться - всегда полезно, никто камнями кидать не будет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы