从nginx服务golang脚本
我想用go语言编写web应用程序。从nginx服务golang脚本
当运行:
go run myscript.go
它工作正常,我有去 “网/ HTTP” 模块 在这里工作是我在我的旅途脚本已经完成:
http.ListenAndServe(":8081", nil)
我现在想和nginx一起工作。我读过,我应该把nginx置于代理模式。这意味着当nginx在80个http端口上收到一个http请求时,它会代理它执行8081端口。
我该如何自动启动并重新启动“运行”过程?
与Php相比,Go不是像Apache这样的Web服务器运行的脚本。它有另一种更接近php-fpm的工作模式。
Go应用程序是一个独立的Web服务器。它接受giver tcp端口上的连接和回复。它独立于nginx,可以安装在单独的机器上。 所以它应该是应用程序运行与外部工具。
你想用“用nginx启动Go应用程序”来解决什么问题?
UPD 一个完整的例子:
在服务器上安装nginx的。具体步骤取决于您的操作系统。对于Ubuntu的也可以是
apt-get install nginx
-
编辑
nginx.conf
到代理通放入锅中8081:location/{ proxy_pass http://127.0.0.1:8081/; }
运行你的程序
go run ...
我明白去应用程序是一个独立的Web服务器。什么是启动/停止此应用程序的方式? – Bob5421
最好的方法是使用内置于系统中的运行工具。这可能是init脚本,systemd等等。如果你更喜欢Docker,你可以建立一个图像,然后'docker start your-image'。首先,你可以用'go build'将Portman文件放到你的home文件夹中,然后运行'。/ program'来建立一个程序 –
你想要的,那Nginx的应启动并重新启动“跑步”还是什么? –
是的,如果有可能,我想nginx启动并重新启动go run命令 – Bob5421
nginx是一个反向代理服务器,它不是主管或类似的东西,它做一件事,做得很好。 –