Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从nginx提供golang脚本_Nginx_Go - Fatal编程技术网

从nginx提供golang脚本

从nginx提供golang脚本,nginx,go,Nginx,Go,我想用go语言编写一个web应用程序 运行时: go run myscript.go 它工作正常,我使用过go net/http模块 以下是我在go脚本中所做的: http.ListenAndServe(":8081", nil) 我现在想与nginx合作。我已经读到我应该将nginx置于代理模式。这意味着当nginx在80http端口上接收到http请求时,它将代理它的do8081端口 我怎样才能自动启动并重新启动go-run进程?与Php不同,go不是由Apache这样的web服务器运行

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

运行时:

go run myscript.go
它工作正常,我使用过go net/http模块 以下是我在go脚本中所做的:

http.ListenAndServe(":8081", nil)
我现在想与nginx合作。我已经读到我应该将nginx置于代理模式。这意味着当nginx在80http端口上接收到http请求时,它将代理它的do8081端口


我怎样才能自动启动并重新启动go-run进程?

与Php不同,go不是由Apache这样的web服务器运行的脚本。它有另一个更接近php fpm的工作模型

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

“使用nginx启动Go应用程序”您想解决什么问题

UPD 一个完整的例子:

在服务器上安装nginx。具体步骤取决于您的操作系统。对于Ubuntu,它可以很容易地安装nginx

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

location / {
    proxy_pass http://127.0.0.1:8081/;
}
运行你的程序去运行


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

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

“使用nginx启动Go应用程序”您想解决什么问题

UPD 一个完整的例子:

在服务器上安装nginx。具体步骤取决于您的操作系统。对于Ubuntu,它可以很容易地安装nginx

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

location / {
    proxy_pass http://127.0.0.1:8081/;
}
运行你的程序去运行


你想让nginx启动并重新启动go run还是什么?是的,如果可能的话,我想让nginx启动并重新启动go run命令nginx是一个反向代理服务器,它不是一个监管者或类似的东西,它只做一件事,而且做得很好。这不是工作方式。Nginx希望您为它提供一个地址和端口以转发到它。您应该查看systemd,了解如何自动启动go流程。Nginx应该关注代理请求,而不是流程管理这很奇怪,但这里是-。你想,Nginx应该启动并重新启动go run还是什么?是的,如果可能的话,我希望Nginx启动并重新启动go run命令Nginx是一个反向代理服务器,不是主管或类似的东西,它只做一件事,而且做得很好。事情不是这样的。Nginx希望您为它提供一个地址和端口以转发到它。您应该查看systemd,了解如何自动启动go流程。Nginx应该关注代理请求,而不是流程管理。这很奇怪,但这里是-。我知道go application是一个独立的web服务器。启动/停止此应用程序的最佳方法是什么?最好的方法是使用系统内置的运行工具。这可能是init脚本、systemd等等。如果你喜欢Docker,你可以创建一个映像,然后Docker启动你的映像。首先,您可以使用go build将Portman文件构建一个程序到您的主文件夹中,然后运行。/program我知道go Application是一个独立的web服务器。启动/停止此应用程序的最佳方法是什么?最好的方法是使用系统内置的运行工具。这可能是init脚本、systemd等等。如果你喜欢Docker,你可以创建一个映像,然后Docker启动你的映像。首先,您可以使用go build put Portman文件在主文件夹中构建一个程序,然后运行。/program