草庐IT

项目部署到Linux

全部标签

linux - 如何从Windows部署Go程序到CentOS服务器

我有一个在Windows上运行的Go软件包并且运行良好,但现在我想在生产CentOS6.5服务器上测试它。将其从Windows部署到CentOS的最佳做法是什么?我是否必须使用我的Git存储库分发到Linux操作系统,编译然后将二进制文件部署到服务器?我还有多个文件,所以我想gobuild*.go就足够了,还是有更好的编译选项? 最佳答案 WhatisthebestpracticetodeploythisfromWindowstoCentOS?就最佳实践而言,我建议使用持续集成。您可以设置jenkins,或者那里有一些云选项:cod

Linux 不接受到端口 25 的连接

我在一个简单的smtp服务器上工作,但一直坚持在端口25上接受TCP连接。我尝试运行到服务器并从本地主机使用telnet,它工作正常。在另一台计算机上,它说正在尝试(ip)...当从GMail发送电子邮件到我的smtp服务器时,它没有看到任何连接Golang中的相关代码funcmain(){listener,err:=net.Listen("tcp",":25")checkError(err)for{conn,err:=listener.Accept()checkError(err)gohandleConnection(conn)}}它是一个运行在DigitalOcean上的Ubunt

go - 无法在travis中构建go项目

我开始创建一个非常轻量级的消息代理来在一个项目中练习go、travis和一些aws服务。我当前的问题是我可以在我的本地机器上构建、运行和测试我的开发分支,但是当travis尝试构建它时我得到一个编译错误。它不喜欢的代码直接来自AWS示例,进一步加深了我的神秘感。Travis构建失败https://travis-ci.org/hevnly/eevy/builds/65687886Githubrepohttps://github.com/hevnly/eevy/tree/92412cf729ed546d698ded1e514d2d54c340ff81错误handler/lambda.go:

linux - 从 Go 访问 Linux 网络 API

我想用Go编写一个简单的实用程序来管理Linux上的网络(有线和无线)连接,类似于NetworkManager和WICD的软件。在Go中访问LinuxAPI的正确方法是什么?我应该使用C绑定(bind)和nativeLinuxAPI调用、执行命令并解析其输出,还是可能有一些库旨在执行我想执行的操作? 最佳答案 您很可能想使用cgo因为调用任何CAPI真的很容易一个额外的好处是,随着时间的推移,CAPI通常非常稳定,因为库创建者几乎总是选择新函数而不是破坏现有函数的API。运行命令行工具和解析输出很容易出错,因为您调用的软件很可能会超

rest - 如何在现实世界的 Go 项目中分离路由、处理程序、第 3 方接口(interface)和业务逻辑

看完officialguide关于如何构建项目和经历各种(1、2、3仅举几例)示例和项目我不禁想知道我构建REST-API服务器应用程序的方法是否结构化正确地。API的用途是什么?POST/auth/sign-in接受用户名和密码并发出JWT(JSON网络token)。GET/auth/sign-out将JWT添加到黑名单以使身份验证session无效。获取/资源检索所有资源的列表。POST/resources(需要有效的JWT身份验证)接受JSON正文,创建新资源并向所有人发送有关新资源的电子邮件和通知。我的项目是什么样的目前我没有创建任何库。一切都在主包中,带有路由的总体服务器设置

linux - 如何编译静态链接的go程序(1.3)?

我正在尝试静态编译一个小的go程序(为了玩Rocket)。我在DebianJessie(薄荷版)上运行。我安装了golang-go包。Rocket文档给出了如何为go版本1.4和1.5进行静态编译的示例1.4$CGO_ENABLED=0GOOS=linuxgobuild-ohello-a-installsuffixcgo.1.5:$CGO_ENABLED=0GOOS=linuxgobuild-ohello-a-tagsnetgo-ldflags'-w'.不幸的是,goversion说我正在运行1.3。$goversiongoversiongo1.3.3linux/amd64我尝试了1.

google-app-engine - 如何在与 app.yaml 不同的文件夹中上传 Google App Engine (Go) 项目

我的项目有以下结构:|appengine|----app.yaml|----myScript.go|bower_components|----|...|build|----|images|----|----|branding|----|----|----favicon.ico|----|styles|----|----|*.css|----|index.html|src|...我想在运行goappdeployappengine时上传构建文件夹的全部内容。我的app.yaml看起来像这样:application:myProjectversion:0-1runtime:goapi_vers

go - 对项目集合执行操作

在我的实际代码中,我正在使用encoding/xml解析一个XML文档,我基本上有一堆如下形式的嵌套结构——所有这些都可能出现多次,除了顶级statements元素:statementsstatementopcodeargsprepost我是Go的新手,我显然误解了interface{}(空接口(interface))的工作原理:.\stmtgen.go:58:cannotuseprint_name(typefunc(Statement))astypefunc(interface{})inargumenttoperformAction.\stmtgen.go:58:cannotuses

linux - 在 linux 系统上从 golang 中的 xls 文件中读取值

我正在编写一个程序来读取Go中的xls文件。我正在使用github.com/extrame/xls包。如果它不为空,我想读取每个单元格。(请注意,有些行在所有11列中都有值,但有些行没有。)我的代码是:ifxlFile,err:=Open("Table.xls","utf-8");err==nil{ifsheet1:=xlFile.GetSheet(0);sheet1!=nil{fmt.Print("TotalLines",sheet1.MaxRow,sheet1.Name)col1:=sheet1.Rows[0].Cols[0]col2:=sheet1.Rows[0].Cols[0]

linux - Golang 的 net.LookupHost() 是否使用 "/etc/resolv.conf"中的所有 DNS 服务器?

我有一个应用程序,它是用Go编写的,使用了这个函数,但它总是无法解析DNS名称。我可以使用其他应用程序很好地解析服务器上的DNS名称,但不能使用使用此功能的基于Go的应用程序。 最佳答案 如有疑问,请“使用来源,卢克”。读书dnsclient_unix.go显示它遍历所有已配置的服务器。但请注意://IfanswererroredforrcodesdnsRcodeSuccessordnsRcodeNameError,//itmeanstheresponseinmsgwasnotusefulandtryinganother//serv