2014-12-17 9 views
2

Я сделал приложение Go, и когда я запускаю exe локально, он отлично работает. Где я могу загрузить это на свой VPS? public_html/domain.com/somefolder? или/usr/некоторая папка с SSH?Загрузите и установите приложение Golang на VPS

У меня есть приложение, мои .exe и src-файлы, но что мне делать с ним при развертывании в Интернете на моем VPS? Мне не удалось найти учебник об этом, поэтому я надеюсь, что вы можете мне помочь.

  1. Загрузить все файлы в папке src, включая двоичные файлы, с тех пор, как я написал «go build»?
  2. загружать туда, где на моем VPS? используя программу ssh или cpanel/ftp или что?

Каковы шаги «go build» на вашем локальном компьютере с Windows 8 для загрузки и запуска его в сети на сервере Linux?

Ps.

Кроме того, CentOS 5.1.1, хотя и не поддерживается https://golang.org/doc/install - разрешите мне запускать уже скомпилированную программу go linux на моем VPS, и это означает, что я не могу установить Go и выполнить компиляцию на сервере CentOS 5.x ? Будет ли CentOS 5.1.1 объяснять ошибку «ошибка сегментации», которая дает мне при запуске команды «./[filename]»?

+0

вы это видели? : http://stackoverflow.com/questions/17440415/golang-production-web-application-configuration – Omie

+0

Компиляция Перейти на сервер, как он предлагает, для меня не вариант, так как мой VPS работает CentOS 5.1.1 - Но я все равно должен быть в состоянии сказать «./[filename]« правильно? Прямо сейчас я просто получаю ответ «Сегментационная ошибка» от ssh. – Dac0d3r

+0

Это довольно неудачно. Какова цель этого развертывания? обучение ? производство использовать? Если вы хотите, чтобы ваше приложение появилось на каком-то сервере, как это сделать для обучения/тестирования и т. Д., Тогда посмотрите на Heroku. Вы получите его бесплатно. Для производственных целей, действительно не повезло, можно попробовать? http://dave.cheney.net/2013/06/18/how-to-install-go-1-1-on-centos-5 – Omie

ответ

1

Ну, как правило, вы бы:

  • Скопируйте двоичный созданный + все файлы ресурсов (HTML, CSS, изображения, ...)
    • (необязательно исходный код, а)
  • есть способ обеспечить программу продолжает работать
    • crontab может б е используется для проверки, если ваша программа жива, но простая программа мониторинга будет достаточно, а (который вы можете написать самостоятельно)
  • Запустите исполняемый файл в качестве непривилегированного пользователя
    • (вы также можете объединить его с чем-то вроде Docker если вы хотите)

Это не имеет смысла ставить его в public_html/domain.com/somefolder, поскольку он не является общедоступным html-кодом. Вы хотите, чтобы ваши файлы находились где-то, к которым они не могут быть доступны, за исключением использования созданного вами приложения/двоичного файла.

Приношу свои извинения за неточную ссылку на источник. Однако, это похоже на лучшее, что нужно сделать.


Еще одно важное замечание: Даже если ваш VPS может работать Windows, можно также развернуть Linux исполняемый файл в Linux VPS (которые существенно дешевле) - глядя на this SO question.

+0

Спасибо за ваш ответ. У меня есть еще несколько вопросов. На этом URL-адресе [link] (https://golang.org/doc/install) говорится, что Go не поддерживает CentOS 5.x - у меня есть CentOS 5.1.1 на моем VPS. Я получаю следующее сообщение об ошибке при попытке (som shh - using putty on windows) запускать скомпилированный файл linux: «Ошибка сегментации» - это потому, что CentOS 5.x, что я не могу запустить скомпилированное приложение Go? – Dac0d3r

+0

Ошибка сегментации сложна. Вы можете настроить виртуальную систему с помощью другого дистрибутива Linux (то есть Debian, Ubuntu, CoreOS) и посмотреть, работает ли он там. Таким образом, вы можете локализовать проблему, вызвавшую segfault. Он не поддерживается, но это не значит, что он никогда не будет работать. Однако нет никакой гарантии. –

+0

Мне дали возможность заплатить 25 долларов США и установить CentOS 6. Считаете ли вы, что это стоит попросить их сделать? Считаете ли вы, что это может сработать? Короче говоря: мне просто нужно, чтобы это работало, я готов заплатить за помощь кому-то в этот момент. Где/кому я обращаюсь за помощью? Моя хостинговая компания не знает о Go .. :(Что бы вы сделали? Купите новый 2-й VPS? – Dac0d3r

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