为了账号安全,请及时绑定邮箱和手机立即绑定

通过“即时编译”从源代码在Apache下运行.go文件

通过“即时编译”从源代码在Apache下运行.go文件

Go
一只斗牛犬 2021-05-07 14:50:09
我可以使用以下代码在Apache的网站上运行Go应用程序。hello.go:package mainimport (    "os")func main() {    os.Stdout.WriteString("Content-Type: text/html; charset=UTF-8\n\n")    os.Stdout.WriteString("Hello!\n")}.htaccess:AddHandler cgi-script .exe我使用该应用程序进行编译,go build hello.go并且http://localhost/hello.exe可以按预期工作。但是,现在我必须在源代码中进行的每个更改之后重新编译。在访问时是否可以通过某种方式告诉Apache运行hello.go(Apache应该运行go run hello.go)http://localhost/hello.go?顺便说一句,这只是为了加快发展,而不是为了生产!
查看完整描述

3 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

一个简单的解决方案是使用一个工具,该工具根据对源文件的更改重新编译您的代码。举个例子GoWatch

或者,您也可以fsnotify按照Erik所述,自己尝试。示例:简单编译守护程序

您也可以go run在CGI脚本中调用。


查看完整回答
反对 回复 2021-05-17
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您可以使用gorun,它使您可以#!/usr/bin/gorun在文件的顶部放置一行,使其像脚本一样运行。gorun会即时编译它,然后运行它。我已经在制作golang脚本中使用了很多,而且我希望它也可以用于CGI。

您必须将脚本标记为可执行(chmod +x),并告诉apache该.go扩展名是可执行的。

不确定我会建议将其用于生产环境,但它应该gorun具有缓存,因此应能合理有效地工作。


查看完整回答
反对 回复 2021-05-17
  • 3 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信