从nginx提供golang脚本

时间:2017-10-28 09:35:50

标签: nginx go

我想用go语言编写一个Web应用程序。

在跑步时:

go run myscript.go

它工作正常,我曾与go" net / http"模 以下是我在go脚本中所做的事情:

http.ListenAndServe(":8081", nil)

我现在想要使用nginx。我已经读过我应该把nginx放在代理模式下。这意味着当nginx在80 http端口上接收到http请求时,它将代理它执行8081端口。

我如何自动执行并重新启动" go run"过程?

1 个答案:

答案 0 :(得分:4)

与Php相比,Go不是像Apache这样的Web服务器运行的脚本。它有另一个工作模型更接近php-fpm。

Go应用程序是一个独立的Web服务器。它接受提供者tcp端口上的连接和回复。它独立于nginx,可以安装在单独的机器上。 因此,假设应用程序正在运行外部工具。

使用“启动带有nginx的Go应用程序”,您想解决什么问题?

<强> UPD 一个完整的例子:

  1. 在您的服务器上安装nginx。具体步骤取决于您的操作系统。对于Ubuntu,它可以是apt-get install nginx

  2. 编辑nginx.conf以将代理传递添加到pot 8081:

    location / {
        proxy_pass http://127.0.0.1:8081/;
    }
    
  3. 运行程序go run ...