从PHP开发人员的角度来看,在LAMP(CentOS)服务器上运行.py文件

时间:2010-07-30 06:17:35

标签: python centos

我是第一次尝试使用Python的LAMP开发人员。我可以选择语法,但我无法弄清楚如何在服务器上运行它!我试过以下

  • filename.py上传到常规网络/公共目录。 chmod 777,711,733,773 ...(执行的变化)
  • filename.py放入cgi-bin,chmod与上面相同..

键入example.com/filename.py只是加载一个文本文件 - 似乎没有任何东西被编译/解析/等等!

(我相信python已安装,如 我的服务器上的whereis python在其他几个目录中显示/usr/bin/python

一个简单问题的许多词 - 如何在CentOS服务器上运行python文件?

3 个答案:

答案 0 :(得分:3)

这是PHP的重大转变。 Python文件不仅仅被解释为.php文件[1]。我找到的最简单的方法是起床&使用Python运行是Bottle框架。

我建议你花一点时间阅读http://docs.python.org/howto/webservers.html。这是非常有益的。

[1]:注意:有一些像Python Server Pages这样的东西,但它并没有被广泛使用。

答案 1 :(得分:1)

你可以使用cgi,但这不会有很好的表现,因为它会为每个请求启动一个新进程。

更有效的替代方案是使用fastcgi或wsgi

第三种选择是运行迷你Python网络服务器并使用重写规则代理来自apache的请求

答案 2 :(得分:1)

我同意其他评论,可能有更有效的方法来运行Python脚本。如果您只想通过将Python脚本放入cgi-bin目录来运行Python脚本,可以尝试以下方法。您首先要找到您的httpd.conf文件。一种方法是:

locate httpd.conf

您的httpd.conf文件可能位于CentOS的/etc/httpd/conf/httpd.conf中。编辑文件并确保识别Python文件,特别是如果您将在ScriptedAliased目录之外使用它们:

AddHandler cgi-script .cgi .py

重新启动Apache Web服务器:

apachectl restart

在/ var / www / cgi-bin目录中创建以下test.py文件(CentOS的默认值):

#! /usr/bin/python
print "Content-type: text/html"
print ""
print "Hello, World!"

您希望使用以下命令使文件可执行:

chmod 775 test.py

这应该是你需要做的所有事情。您现在可以访问http:// {your-domain} /cgi-bin/test.py以及生成的“Hello,World!”应该出现。