我想用go语言编写一个Web应用程序。
在跑步时:
go run myscript.go
它工作正常,我曾与go" net / http"模 以下是我在go脚本中所做的事情:
http.ListenAndServe(":8081", nil)
我现在想要使用nginx。我已经读过我应该把nginx放在代理模式下。这意味着当nginx在80 http端口上接收到http请求时,它将代理它执行8081端口。
我如何自动执行并重新启动" go run"过程?
答案 0 :(得分:4)
与Php相比,Go不是像Apache这样的Web服务器运行的脚本。它有另一个工作模型更接近php-fpm。
Go应用程序是一个独立的Web服务器。它接受提供者tcp端口上的连接和回复。它独立于nginx,可以安装在单独的机器上。 因此,假设应用程序正在运行外部工具。
使用“启动带有nginx的Go应用程序”,您想解决什么问题?
<强> UPD 一个完整的例子:
在您的服务器上安装nginx。具体步骤取决于您的操作系统。对于Ubuntu,它可以是apt-get install nginx
编辑nginx.conf
以将代理传递添加到pot 8081:
location / {
proxy_pass http://127.0.0.1:8081/;
}
运行程序go run ...