Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将MOD_WSGI与Python结合使用_Python_Python 3.x_Mod Wsgi - Fatal编程技术网

将MOD_WSGI与Python结合使用

将MOD_WSGI与Python结合使用,python,python-3.x,mod-wsgi,Python,Python 3.x,Mod Wsgi,在我们的web应用程序中,我们使用PHP和EXEC命令调用一些python脚本,它工作正常,只是我们发现调用它时总是有3-5秒的延迟。如果在IDE中运行相同的python脚本,它运行不到一秒钟 我做了一些研究,似乎是因为每次我们从PHP执行脚本时,python解释器都会不断加载。我们希望消除这几秒钟的延迟 然后我发现Apache附带的Mod_WSGI可能可以在这方面提供帮助,并认为这可以让我们直接调用python脚本 只是按照指示去做 让mod_wsgi开始运行 在我的httpd.conf中添加

在我们的web应用程序中,我们使用PHP和EXEC命令调用一些python脚本,它工作正常,只是我们发现调用它时总是有3-5秒的延迟。如果在IDE中运行相同的python脚本,它运行不到一秒钟

我做了一些研究,似乎是因为每次我们从PHP执行脚本时,python解释器都会不断加载。我们希望消除这几秒钟的延迟

然后我发现Apache附带的Mod_WSGI可能可以在这方面提供帮助,并认为这可以让我们直接调用python脚本

只是按照指示去做 让mod_wsgi开始运行

在我的httpd.conf中添加一些行,如下所示,我能够从浏览器运行“hello world”WSGI应用程序

WSGISocketPrefix /var/www/html/public_html/wsgi/
WSGIDaemonProcess myserver_wsgi processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup myserver_wsgi

    WSGIScriptAlias /wsgi /var/www/html/public_html/wsgi/myapp.wsgi

    <Directory /var/www/html/public_html/wsgi/>
     Order allow,deny
     Allow from all
    </Directory>
WSGISocketPrefix/var/www/html/public\u html/wsgi/
WSGIDaemonProcess myserver_wsgi PROCESS=2线程=15显示名称=%{GROUP}
WSGIProcessGroup myserver_wsgi
WSGIScriptAlias/wsgi/var/www/html/public\u html/wsgi/myapp.wsgi
命令允许,拒绝
通融
现在,我不知道如何使用WSGI调用我所有的python PY脚本。httpd.conf指向一个特定的myapp.wsgi,如何运行这些脚本中的多个

以下是我的问题

  • 在通过PHP运行python脚本时,这是消除开销/延迟的正确解决方案吗

  • 我们使用AngularJS框架作为前端,PHP作为后端,可以直接从JS文件调用python脚本吗?比如使用$http服务

  • 如果是,怎么做


    我现在陷入困境,只能让WSGI“hello world”正常工作,不知道下一步该怎么办,欢迎提出任何想法和解决方案,并提前向您表示感谢。

    您不能从PHP调用使用mod_WSGI托管的Python代码。您可以做的是用Python而不是PHP编写web应用程序代码处理程序,并在需要时从任何前端JS代码对其发出请求。我建议您阅读一下Python框架,比如Flask。您应该避免直接使用WSGI,如Flask文档所解释的,使用Flask并将其托管在mod_WSGI之上。请看一下Flask做了什么,我可以直接从JS调用它?我还想知道mod_WSGI是否是解决我们从PHP调用.PY脚本导致延迟的问题的正确方法。如果这不是正确的解决方案,我不想浪费时间,因为使用PHP调用Python脚本的应用程序运行良好。在mod_wsgi上运行类似Flask的东西时,实际上是在Python上开始编写web服务,而不是只编写一个函数来完成您想要的任务。您可能不想在哲学上做出这样的更改。谢谢,那么在调用python脚本时,我应该如何解决延迟问题,以及如何在JS中直接调用它们。似乎没有人能给我一个明确的答案,我确信有人应该这样设置,从他们的AngularJS应用程序运行python。