mac下 配置 CGI python

python CGI MAC下的环境配置  之前查的资料都太老    Unix系统自带apache 配置CGI很好配  但是网上资料基本不符合要求坑了比较久,很坑

最后自己 仔细看了看 apache下 httpconf文件的内容来解决    

一.环境  Unix系统自带apache2.4

版本

二.去目录 /etc/apachectl2/   找到 httpd.conf 配置服务器支持

打开 httpd.conf 

     1、找到 LoadModule cgi_module libexec/apache2/mod_cgi.so 去掉之前# 开放这个模块

     2、    AddHandler cgi-script .cgi  .py   加上.py  

     3、找到  <Directory "/Library/WebServer/CGI-Executables"> 修改如下

    <Directory "/Library/WebServer/CGI-Executables">

            AllowOverride None

            Options ExecCGI    

            Order allow,deny

            Allow from all

     </Directory>

            这个主要是 规定这个文件里面在服务器里 是否允许 访问 执行 修改等等     

三、上面的配置就基本完成

     接下来 只需要保存 并重启 apache      sudo  apachectl restart 

    将你自己的可执行 py文件  如 test.py  放到  /Library/WebServer/CGI-Executables 目录下  你就可以在浏览器  通过   localhost/cgi-bin/test.py 来访问了

test.py 示例

 

 

Why?

1.为什么 test.py 要放到Library/WebServer/CGI-Executables 目录下


因为上面配置的 CGI生效文件夹的相关配置 是这个目录 与上面的< Directiory "/Library/WebServer/CGI-Executables">保持一致

当然可以放到其它目录 不过 文件夹配置要修改  下面的别名  以及  浏览器 访问的地址也要相应的修改

2.为什么是访问 localhost/cgi-bin/test.py  而不是访问  localhost/CGI-Executables/test.py 


因为 httpconf 中给/Library/WebServer/CGI-Executables 取了个别名

默认配置 ScriptAliasMatch   ^/cgi-bin/((?!(?i:webobjects)).*$) "    /Library/WebServer/CGI-Executables/$1"

3.还有一些其它坑  


比如文件访问权限 可以 通过修改  chmod 755 test.py 

其它的访问localhost/cgi-bin/test.py 错误  可以在错误日志里面找 

ErrorLog 文件位置  在  httpd.conf 文件中搜 ErrorLog  就能找到对应目录 一般是 /private/var/log/apache2/error_log,然后去对应目录下


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值