从Nginx提供Golang脚本

我想用Go语言编写Web应用程序。</ p>

运行:</ p>

 运行myscript.go 
</ code> </ pre>

,效果很好,我使用过“ net / http“模块
这是我在go脚本中完成的操作:</ p>

  http.ListenAndServe(”:8081“,nil)
</ code> </ pre >

我现在想使用nginx。 我已经读过我应该将nginx置于代理模式。 这意味着当nginx在80 http端口上接收到http请求时,它将代理它做8081端口。</ p>

我如何自动启动并重新启动“运行”进程?</ p> \ n </ div>

展开原文

原文

I want to write a web application with go language.

When in run:

go run myscript.go

It works fine, i have worked with go "net/http" module Here is what i've done in my go script:

http.ListenAndServe(":8081", nil)

I want now to work with nginx. I have read i should put nginx in proxy mode. That means when nginx receive an http request on 80 http port, it will proxy it do 8081 port.

How can i automatically lanuch and relaunch "go run" process ?

duanbaque4230
duanbaque4230 很奇怪,但是这里是-nginx.com/products/nginx-unit。
接近 3 年之前 回复
dongyongyin5339
dongyongyin5339 那不是事情的运作方式。Nginx希望您为其提供地址和端口。您应该查看systemd以执行go进程的自动启动。Nginx应该关注代理请求而不是流程管理
接近 3 年之前 回复
douba1617
douba1617 nginx是反向代理服务器,它不是主管或类似的东西,它做一件事并且做得很好。
接近 3 年之前 回复
dongwo7858
dongwo7858 是的,如果有可能,我希望启动nginx并重新启动gorun命令
接近 3 年之前 回复
doudao5287
doudao5287 您是否要让Nginx启动并重新启动运行?
接近 3 年之前 回复

1个回答



与Php相比,Go不是由诸如Apache之类的网络服务器运行的脚本。 它有另一个更接近php-fpm的工作模型。 </ p>

Go应用程序是独立的Web服务器。 它接受连接并在给定的tcp端口上进行回复。 它独立于可以安装在单独计算机上的nginx。
因此,假定该应用正在使用外部工具运行。 </ p>

“使用nginx启动Go应用”要解决什么问题?</ p>

UPD </ strong>
一个完整的示例 :</ p>


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

  2. 编辑 nginx.conf </ code>以将代理传递添加到pot 8081:</ p>

     位置/ {
    proxy_pass http://127.0.0.1:8081/;
    }
    </ code> </ pre> </ li>

  3. 运行程序开始运行... </ code> </ p> </ li>
    </ ol>
    </ div>

展开原文

原文

In contrast to Php, Go isn’t a script run by a web server like Apache. It has another working model more close to php-fpm.

Go application is a standalone web server. It accepts connections and replies on a giver tcp port. It’s independent of nginx which can be installed on a separate machine. So it is supposed that app is running with external tools.

What problem do you want to solve with “launching Go app with nginx”?

UPD A Complete example:

  1. Install nginx on your server. Particular steps depend on your operation system. For Ubuntu it can be apt-get install nginx

  2. Edit nginx.conf to add proxy pass to pot 8081:

    location / {
        proxy_pass http://127.0.0.1:8081/;
    }
    
  3. Run you program go run ...

dptrmt4366
dptrmt4366 最好的方法是使用系统内置的运行工具。 这可能是初始化脚本,systemd等。 如果您更喜欢Docker,则可以构建映像,然后docker启动您的映像。 首先,您可以使用go build构建一个程序,将Portman文件放入您的主文件夹,然后运行./program
接近 3 年之前 回复
dongshan6870
dongshan6870 我了解go应用程序是一个独立的Web服务器。 启动/停止此应用程序的正确方法是什么?
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐