如果想要Apache可以执行python之类的网页程序,那么就得安装一些额外的模块,python程序安装的模块为mod_python install -y mod_python进行安装
第一步,配置apache
在httpd.conf中,找到:
AddHandler cgi-script .cgi把它改为:
AddHandler cgi-script .cgi .py 其他设置:
AllowOverride ALL
Options +ExecCGI
Order allow,deny
Allow from all
ScriptAlias /cgi-bin/ /var/www/cgi-bin/ “/var/www/cgi-bin”是你放置python程序的地方,可以改成你自己的目录,重要的是那个“+ExeCGI”,它的意思让此目录具有执行CGI的权限
第二步,配置mod_python
mod_python安装好后,默认有个配置文件:/etc/httpd/conf.d/python.conf,这个文件在apache重启时会自动读入
要注意的是:
LoadModule python_module modules/mod_python.so
看是否有这句,并且去掉注释。其他要更改的地方:
SetHandler python-program
PythonPath "sys.path+ ['/var/www/cgi-bin']"
PythonHandler hellox
AddHandler mod_python .py
PythonHandler hellox
PythonDebug On
把“/var/www/cgi-bin"/ 改为你自己房子python程序的目录。其中,第一条指令是将所有URL末尾为.py的请求转发给mod_python处理程序,mod_python接收到请求之后再寻找适当的PythonHandler处理程序,这里是python文件的名字。第二条指令只定义了一个hellox处理程序,注意这个程序名不要跟系统已有的程序名字一样。最后一条是启用Python代码调试功能,以便在代码运行出错时输出Python解释器返回的错误。
第三部,编写python文件进行测试
我编写的hellox.py:
#!/usr/bin/python2
from mod_python import apache
def handler(req):
req.content_type = 'text/plain'
req.write("Hello World!")
return apache.OK 测试文件一定要按照下面的格式才行:
def handler(req):
.....
return apache,OK 更改权限:chmod a+x /var/www/cgi-bin/hellox.py
最后,在浏览器输入 http://192.168.111.50/cgi-bin/hellox.py,屏幕上出现“hello,world”。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com