Deployment 将Golang应用程序上载并部署到VPS

Deployment 将Golang应用程序上载并部署到VPS,deployment,go,web-deployment,production,Deployment,Go,Web Deployment,Production,我制作了一个Go应用程序,当我在本地运行exe时,它工作正常。在我的VPS上,我将把这个上传到哪里?public_html/domain.com/somefolder?还是使用SSH的/usr/somefolder 我有我的应用程序、我的.exe和src文件,但当我在线部署到VPS上时,我该如何处理这些文件呢?我还没有找到关于这个的教程,所以我希望你能帮助我 我是否上传了src文件夹中的所有文件,包括我编写“go build”时的二进制文件 上传到我的VPS上的哪里?使用ssh或cpanel/f

我制作了一个Go应用程序,当我在本地运行exe时,它工作正常。在我的VPS上,我将把这个上传到哪里?public_html/domain.com/somefolder?还是使用SSH的/usr/somefolder

我有我的应用程序、我的.exe和src文件,但当我在线部署到VPS上时,我该如何处理这些文件呢?我还没有找到关于这个的教程,所以我希望你能帮助我

  • 我是否上传了src文件夹中的所有文件,包括我编写“go build”时的二进制文件
  • 上传到我的VPS上的哪里?使用ssh或cpanel/ftp程序还是什么
  • 从在您自己的本地windows 8计算机上“go build”到在linux服务器上上载并联机运行,有哪些步骤

    附言


    此外,CentOS 5.1.1虽然不受支持,但是否允许我在我的VPS上运行已编译的linux go程序,这是否仅仅意味着我无法在CentOS 5.x服务器上安装go and do compilation?CentOS 5.1.1能否解释shh在运行命令“/[filename]”时给我的“分段错误”错误

    通常,你会:

    • 复制您创建的二进制文件+所有资源文件(html、css、图像等)
      • (也可以选择源代码)
    • 有办法确保程序持续运行吗
      • crontab
        可用于检查程序是否处于活动状态,但一个简单的监视程序也就足够了(您可以自己编写)
    • 以非特权用户身份运行二进制文件
      • (如果需要,也可以将其与类似的内容组合)

    把它放在
    public\u html/domain.com/somefolder
    中没有意义,因为它不是公共html代码。您希望文件位于无法访问的位置,除非使用您创建的应用程序/二进制文件


    我为没有我的故事的整洁的来源链接而道歉。然而,这似乎是最好的办法


    另一个重要注意事项:
    即使您的VPS可能运行Windows,您也可以将linux二进制文件部署到linux VPS(这非常便宜)-请参阅

    关于在osx上编写golang应用程序并在Linux服务器上部署,我写了一个简短的说明:

    谢谢你的回答-不过我还有几个问题要问。在这个url上,它说Go不支持CentOS 5.x-我的VPS上有CentOS 5.1.1。当我尝试(som shh-在windows上使用putty)运行linux编译文件时,我收到以下错误消息:“分段错误”-这是因为CentOS 5.x导致我无法运行已编译的Go应用程序吗?分段错误很棘手。你可以用另一个Linux发行版(如Debian、Ubuntu、CoreOS)设置一个虚拟系统,看看它是否在那里运行。这样,您可以定位导致SEG故障的问题。它不受支持,但这并不意味着它永远不会工作。但是,没有保证。我可以选择支付25美元并安装CentOS 6。你认为这值得让他们去做吗?你觉得这样行吗?简而言之:我只是需要它来工作,我愿意在这一点上为别人的帮助付钱。我应该向哪里/谁寻求帮助?我的托管公司不知道Go.:(你会怎么做?买一个新的第二个VPS?好吧,首先你需要知道CentOS是否有问题。下载virtualbox,创建两个基本映像:一个是Debian,一个是CentOS 6。在两者上测试你的二进制文件。如果它在Debian上工作,但在CentOS上不工作-然后获得第二个VPS(或替换第一个)如果它在Debian上也不起作用,那么CentOS就不是问题,获得第二个VPS也没有意义。我在VirtualBox中尝试了CentOS 7,效果很好,所以我猜是CentOS 5的旧内核出了问题。:-)你看到了吗像他建议的那样在服务器上编译Go对我来说不是一个选项,因为我的VPS运行的是CentOS 5.1.1-但我仍然可以说“/[filename]”对吗?现在我刚刚收到ssh的“分段错误”响应。这是非常不幸的。这次部署的目的是什么?学习?生产用途?如果你想让你的应用程序在某个服务器上运行,比如如何进行学习/测试等,那么看看Heroku。你可以免费得到它。出于制作目的,真的运气不好,可以试一试吗?但我不需要在VPS上安装它。我只需要能够在那里运行程序。我可以在本地计算机上编译。这方面的“不支持”不是指编译和安装go吗?或者(我担心)go程序甚至不会在这些“不受支持”的操作系统上运行-o