跑步网页.py作为linux上的服务

2024-05-29 07:38:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我用过网页.py创建一个以json格式返回结果的web服务。在

我以python scriptname.py 8888的身份在本地机上运行它

但是,我现在想在linux机器上运行它。在

如何在linux机器上作为服务运行它?在

更新

答案出来后,这个问题似乎不对。我了解部署过程、框架和web服务器。也许下面的背景故事会有所帮助:

我有一个小python脚本,它将一个文件作为输入,并基于一些逻辑拆分文件。我想把这个脚本用于我已经准备好的web前端(Grails)。我想从grails应用程序调用它,但不想通过执行命令行来实现。所以我把python脚本包装成一个webservice。它接受两个参数,并在json中返回分割文件的数量。这个webservice只会被grails前端使用。在

所以,我只想运行这个小网页.py服务,以便它可以响应我的grails前端。在

如果我错了,请纠正我,但我还需要ngix之类的吗?这个脚本听起来很简单,但最终我会给它添加更多的逻辑,所以我希望它作为一个可以被web前端使用的web服务。在


Tags: 文件py脚本机器webjson网页linux
2条回答

一般来说,这有两个部分。在

“远程和基于事件的”部分:通过网络远程使用的服务需要一定的技能:能够接受(多个)连接、读取请求、处理、回复、至少讲基本的TCP/HTTP、处理死连接,如果是小型专用LAN,它需要是健壮的(想想DoS),也许还需要执行某种身份验证。在

如果您的脚本愿意处理所有这些问题,那么它就可以打开自己的端口并进行侦听。我不确定是否网页.py提供所有这些设施。在

还有另一个部分是“daemonization”,当您想在无人值守的情况下运行服务器:在引导时运行,在正确的用户下运行,不阻止您的父级(ssh、init脚本或其他任何东西),不打开tty,但可能会在某个地方登录。。。在

nginx和Apache等服务器就是为此而构建的,它们提供mod_python或WSGI等接口,这样更简单的应用程序就可以尽可能多地放弃上述功能。在

所以答案是:是的,你仍然需要Nginx或类似的东西,除非:

  • 您可以自己用Python实现它,

  • 或者您只在本地主机上使用脚本,并且愿意使用一些脚本 不稳定的风险。

那你就可以自己动手了。在

试试这个

python scriptname.py 8888 2>/dev/null

它将作为守护进程运行

相关问题 更多 >

    热门问题