在进行 golang 服务部署前,首先需要安装 golang 及必要的工具。可以通过以下命令来安装:
sudo apt-get updatesudo apt-get upgradesudo apt-get install golangsudo apt-get install git
其中,最后一行安装了 git 工具。因为 golang 项目通常都是通过 git 进行版本管理的。安装完成后,可以通过以下命令检查是否安装成功:
go versiongit version
如果以上两个命令均输出版本号,则表示安装成功。
二、编写 golang 服务
在安装好 golang 和必要的工具之后,就可以开始编写 golang 服务了。以一个简单的 http 服务为例,以下是代码示例:
package mainimport ( "fmt" "net/http")func main() { http.handlefunc("/", hellohandler) fmt.println("server started on port 8080") http.listenandserve(":8080", nil)}func hellohandler(w http.responsewriter, r *http.request) { fmt.fprintf(w, "hello, world!")}
该服务代码功能简单,监听本地的 8080 端口,并对每个请求返回 "hello, world!" 的字符串。使用 http.handlefunc 方法来指定路由和对该路由的处理函数。
三、构建并测试 golang 服务
在编写好 golang 服务代码后,需要进行构建并测试。可以使用以下命令来构建服务:go build。该命令会在当前目录下生成可执行文件。在测试前,需要先修改一下当前用户的防火墙规则,以允许该服务监听 8080 端口。可以使用以下命令:
sudo ufw allow 8080/tcp
修改完成后,即可启动服务进行测试。可以使用以下命令启动服务:
./<可执行文件名> &
其中的 & 符号表示将服务放在后台运行。启动成功后即可使用浏览器或者 curl 命令来访问该服务。
四、使用 pm2 进行 golang 服务部署
手动启动 golang 服务显然不太友好,特别是当需要对该服务进行重启或监控时,更不方便。所以,可以使用 pm2 工具来进行服务的管理和部署。pm2 是一个 node.js 生态圈中的进程管理工具,不过它也支持管理其他语言编写的进程,包括 golang。以下是使用 pm2 进行 golang 服务部署的示例:
安装 pm2
sudo npm install -g pm2
进入服务程序所在目录,并使用以下命令启动服务:
pm2 start <可执行文件名> --name=<服务名称>
其中,--name 参数用于指定服务的名称。
可以使用以下命令来查看服务的状态:
pm2 list
对于已经被 pm2 管理的进程,可以使用以下命令来对该服务进行操作:
pm2 restart <服务名称>pm2 stop <服务名称>pm2 delete <服务名称>
以上就是怎么在linux上进行golang服务部署的详细内容。