目前我正在使用web.py开发Python中的Web服务,它提供不同的function。 就像是
BigQueryService.py LogicImplementer.py PostgreService.py
在本地机器上运行时,每项服务都能正常工作。 在服务器上部署之后,由于我引用了其他的python脚本,它将返回一个模块错误。
由于我们必须在同一个端口上运行所有的服务,我把所有的脚本粘贴到一个名为Engine
文件中,并使用命令
$ nohup python Engine.py 8080
&
有没有更好的方法来构buildweb.py中的服务? 还是有办法在同一个端口上运行所有单独的脚本?
如果每个服务在端口上创建自己的侦听器/服务器套接字,那么答案是否定的。 您将需要使用具有单个服务器端口的应用程序服务器的等价物,并将传入的请求通常基于相对路径分发到相关应用程序(在服务器上运行) – 例如http://myserver.net:8080 / bqs路径传递到你的BiqQueryService,/ li到LinkImplementor,/ pgs到PostgreService。 Flask会做这样的事情,我相信其他的Web服务框架也是如此。 服务器将处理所有的通信内容,将请求传递给应用程序(例如bqs)并处理向客户端发送响应。