我是第一次尝试使用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文件?
答案 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!”应该出现。