@Artem0071
Безработный mr. Junior

Как запускать код на сервере?

Я пхп-шник

Сейчас для саморазвития смотрю другие языки программирования
Все учебники заканчиваются в основном на том, что пишется программа "привет мир" и рассматриваются базовые вещи

Но как мне запускать этот код на сервере?
Например, если взять язык Golang, куда мне копировать эти файлы *.go?

Если брать пхп, то просто кидаю по фтп на хостинг и радуюсь жизни, а что делать в случае с другими языками? Как увидеть свой работающий код на хостинге, который нужно запускать из под консоли?
  • Вопрос задан
  • 2087 просмотров
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Для каждого языка и рабочего окружения своя последовательность действий. В частности, чтобы запустить web-приложение на Go, надо написать на Go web-сервер, скомпилировать, положить в любое удобное место на сервере и запускать чем-нибудь вроде Supervisord.
Ответ написан
Комментировать
@f22
В случае с Go возьмите просто Google AppEngine.
Там можно бесплатно даже небольшой, но вполне полноценный сервис заводить.
Даже несколько.

Плюс в том, что все админовские вещи - перекладываются на AppEngine, а ты сосредотачиваешься только на собственно разработке.

Файлы там не копируются вручную.
Используется специальный SDK

Как это сделать см. тут:
https://cloud.google.com/appengine/docs/standard/g...

Если же вы хотите вручную запускать Go-программу на сервере, то:

1. Программу нужно скомпилировать. С помощью go build. Причем скопилировать именно под ту операционную систему, которая на вашем сервере. Переключать выбор ОС можно через GOOS= и GOARCH=
Другой вариант - компилировать сразу на сервере, тогда будет правильно компилироваться безо всяких GOOS= и GOARCH=

2. Копируем полученный в результате компиляции бинарный файл (не исходный файл Go) на сервер.
Все готово к запуску.

3. Запускаете. Просто написав имя файла в консоли.
Другой вариант - запускать демона через утилиту daemon, например.
Третий вариант - сделать на Go демона и запускать как обычного демона

4. В production все же перед бинарником Go все же стоит как правило nginx.
Но это не обязательно
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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