繁体   English   中英

如何让两个不同的python脚本在同一个端口上运行?

[英]How to make two different python scripts to run on the same port?

目前我正在使用 web.py 在 python 中开发 web 服务,它提供不同的功能。 就像是

BigQueryService.py
LogicImplementer.py
PostgreService.py

每个服务在本地机器上运行时都能完美运行。 在服务器上部署后,由于我引用了另一个 python 脚本,它返回一个模块错误。

由于我们必须在同一个端口上运行所有服务,我将所有脚本粘贴到一个名为Engine文件中,并使用命令使其工作

$ nohup python Engine.py 8080 &

有没有更好的方法在 web.py 中构建服务? 或者有没有办法在同一个端口上运行所有单独的脚本?

如果每个服务在端口上创建自己的侦听器/服务器套接字,那么答案是否定的。 您将需要使用具有单个服务器端口的应用程序服务器的等效项,并将传入请求分发到通常基于相对路径的相关应用程序(在服务器上运行) - 例如http://myserver.net:8080 / bqs 路径传递给您的 BiqQueryService,/li 传递给 LinkImplementor,/pgs 传递给 PostgreService。 Flask 会做这样的事情,我相信其他 Web 服务框架也会。 服务器将处理所有通信内容,将请求传递给应用程序(例如 bqs)并处理向客户端发送响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM