如何在同一端口上将两个不同的 python 脚本发送到 运行?
How to make two different python scripts to run on the same port?
目前我正在 python 使用 web.py 开发 Web 服务,它提供不同的功能。像
BigQueryService.py
LogicImplementer.py
PostgreService.py
在本地机器上 运行ning 时,每项服务都能完美运行。在服务器上部署后,由于我引用了另一个 python 脚本,它 returns 模块错误。
因为我们必须 运行 同一端口上的所有服务,我将所有脚本粘贴到一个名为 Engine
的文件中,并使用命令
使其工作
$ nohup python Engine.py 8080
&
在 web.py 中有没有更好的方法来构建服务?或者有没有办法 运行 同一端口上的所有单独脚本?
如果每个服务都在端口上创建自己的 listener/server 套接字,那么答案是否定的。您将需要使用等效于具有单个服务器端口的应用程序服务器,并且通常基于相对路径将传入请求分发到相关应用程序(服务器上的 运行) - 例如http://myserver.net:8080/bqs 路径传递给您的 BiqQueryService,/li 传递给 LinkImplementor,/pgs 传递给 PostgreService。 Flask 会做这样的事情,我相信其他 Web 服务框架也会。服务器将处理所有通信内容,将请求传递给应用程序(例如 bqs)并处理向客户端发送响应。
目前我正在 python 使用 web.py 开发 Web 服务,它提供不同的功能。像
BigQueryService.py
LogicImplementer.py
PostgreService.py
在本地机器上 运行ning 时,每项服务都能完美运行。在服务器上部署后,由于我引用了另一个 python 脚本,它 returns 模块错误。
因为我们必须 运行 同一端口上的所有服务,我将所有脚本粘贴到一个名为 Engine
的文件中,并使用命令
$ nohup python Engine.py 8080
&
在 web.py 中有没有更好的方法来构建服务?或者有没有办法 运行 同一端口上的所有单独脚本?
如果每个服务都在端口上创建自己的 listener/server 套接字,那么答案是否定的。您将需要使用等效于具有单个服务器端口的应用程序服务器,并且通常基于相对路径将传入请求分发到相关应用程序(服务器上的 运行) - 例如http://myserver.net:8080/bqs 路径传递给您的 BiqQueryService,/li 传递给 LinkImplementor,/pgs 传递给 PostgreService。 Flask 会做这样的事情,我相信其他 Web 服务框架也会。服务器将处理所有通信内容,将请求传递给应用程序(例如 bqs)并处理向客户端发送响应。