服务器端有Apache2+ mod_wsgi +Python2.6。
我想从Python运行脚本,就像运行PHP脚本一样。这个想法可能看起来很愚蠢,但我已经习惯了(至少在一开始学习Python)。
示例:
PHP - http://example.com/script.php
Python - http://example.com/script.py
另外,我知道mod_rewrite和其他类似的技巧可以做到这一点。但这只是一种伪装,并不是直接参选。
更新:我的.htaccess文件。index.py可以工作,但其他python脚本得到404错误。
<Files *.py>
SetHandler wsgi-script
Options ExecCGI FollowSymLinks
</Files>
DirectoryIndex index.py
发布于 2012-03-12 17:46:08
这看起来不像运行一个wsgi应用程序那么酷,所以我建议你使用flask framework,它是一个尽可能简单的框架。
这里有一个描述install procedure on mod_wsgi的链接。
稍后,你可能想考虑一个很酷的框架,比如Django,Pyramid,Grok……
如果你真的想像mod_php一样使用mod_wsgi,请参考Graham Dumpleton的好答案。
发布于 2012-03-13 01:52:49
从技术上讲,您所做的应该是可行的,但请参阅以下内容中的配置mod_wsgi的AddHandler方法:
http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#The_Apache_Alias_Directive
这样你就不必摆弄Files指令了。
SetHandler做了类似的事情,但上下文中的所有文件都被视为WSGI脚本文件,即使它们可能是静态的HTML或PHP文件。您可以使用它,因为可以使用文件,但是使用AddHandler会更好。
请注意,代码重载将不会像使用PHP时那样工作。请参见:
http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode
发布于 2019-08-17 05:36:21
我使用mod_cgi像PHP一样运行Python脚本。
这是一个阿帕奇的tutorial。要使用的cgi接口是Python.org的here。
我使用的第二个好的tutorial是在你启动并运行的时候。
我要补充的是,有一种更简单的方法来配置Apache。
ApacheStep1cgi:在上面的指南中没有提到的第一步是在中启用处理。
sudo a2enmod cgi
如果您的服务器配置了多线程MPM,这将自动启用mod_cgid,我就是这样做的。
在LinuxMint19.2中,编辑/etc/apache2/sites-enabled中的Step2:编辑您的httpd.conf或其名称。
为index.py启用脚本
<VirtualHost *:80>
DocumentRoot /your/www/html
DirectoryIndex index.py
</VirtualHost>
python Step 3:启用其他python脚本,以便它们也可以在相同的文件夹或子目录中运行。
<Directory "/your/www/html/*">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AddHandler cgi-script .py
AddHandler default-handler .jpg .png .gif .css .js .ico
</Directory>
ScriptAlias / /your/www/html/
为了成功运行python脚本,我遇到了两个必须遵守的警告。
在Linux Mint 19.2中,我右键单击文件,转到属性,转到权限,然后选中执行:允许将程序作为文件执行的复选框。或者直接运行命令:
chmod a+x python_script.py
https://stackoverflow.com/questions/9664634
复制相似问题