当前位置: 首页 > 网络应用技术

Golang练习记录:使用GIN框架来实现转发功能:使用NGINX转发

时间:2023-03-05 17:44:51 网络应用技术

  最近,需要实现一个用于将POST请求转发到指定的后端服务的小工具。由于我一直想学习杜松子酒框架,因此我使用此框架来尝试它。预计将生成几篇文章。本文研究如何使用NGINX容器和后端服务来测试转发工具。

  转发工具相对简单实现,但是为了验证,需要使用其他工具来合作。本文带有后端程序,并使用nginx实现了多个背部 - 末端程序。为了简化理解,下面给出了示例图。不要使用nginx实现转发,如下所示:

  使用nginx实现转发,如下所示:

  注1:两张图片相似,请注意图片中URL的更改。注意2:在本文中,客户可以跨Nginx直接访问后端服务。在实际情况下似乎不好。因为它只是一个示威,所以不再被深入考虑。

  上一篇文章已经实现了一个简单的后端服务响应功能,该功能将在此处不列出。应该注意的是,由于此系列重新发布和后端使用相同的代码集。如果要在程序中启动后端服务,则必须修改后端服务以执行文件名,请参阅上一个代码。

  本文使用镜像进行测试。简单的开始如下:

  在实践中使用启动,docker-compose.yml文件如下:

  注意:Back -End Service程序(和启动脚本)和NGINX配置文件放在主机目录上,因为它更容易更新。

  为了在容器启动时运行自定义命令,需要关闭NGINX服务的背景执行。

  关于在容器中启动NGINX的方法,官方Docker有一个简介:

  好,好,擦拭

  据说,当我们自定义开始命令时,我们必须添加它,否则在自定义命令启动后,容器将自动退出。

  启动容器:

  查看日志:

  nginx默认启动。如果修改了配置。您可以重新启动容器,您可以在容器中重新启动,并且命令重新启动。仅支持4个参数:官方文档调用信号(信号)。如果执行停止,则nginx,再次重新启动,将提示。因此,在修改了Nginx配置后,请使用它。

  在作者的环境中,无论是在容器中还是在物理计算机中,NGINX配置文件都是(注意:实际上,NGINX还将读取目录,但不会在本文中读取讨论的范围)。修改文件后,必须执行NGINX的重新启动。对于位置的配置,通常:通常:

  发送到NGINX服务器的请求(如果URL)转发到本地9000端口服务。(注意:您还可以继续添加后缀URL,但这不是此讨论的范围)。其他转发相似。测试后,您可以直接使用字段指定后端服务地址。如下:

  在测试过程中,发现当使用上述转发规则时,必须实现后端程序,也就是说,可以在容器中正常要求。如果未实施,将提示404。本文的后端无法用后缀后缀响应URL。

  经过调查后,在后端程序URL之后添加斜率可以解决该问题,如下所示:

  两者之间的对比如下:

  对于作者的申请,请求的URL必须以后端程序的形式为形式,并且后缀不能添加其他后缀。由于NGINX的研究并不深,因此暂时不会进行讨论。

  请求命令:

  远期工具:

  nginx日志:

  在本文中,自编辑的转发工具应管理和配置后端程序和NGINX,即启动多个后端程序,分配端口号的编号(从9000开始),并根据规则分配URL,将其写入nginx配置文件,最后重新启动nginx servicessence - 当然,这些是更简单的方法。在测试Nginx转发URL时,也花费了更多时间(大约2个深夜和之后)。

  在接下来的过程中,作者将研究如何实施负载平衡算法。——它计划执行此操作超过半年,借此机会花一些时间。

  有关URL讨论的讨论https://stackoverflow.com/questions/42997684/nginx-n-docker-doesnt-work-work----------------------------/_/nginxx