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、找到   修改如下

   

            AllowOverride None

            Options ExecCGI    

            Order allow,deny

            Allow from all

     

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

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

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

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

mac下 配置 CGI python_第1张图片
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,然后去对应目录下

你可能感兴趣的:(mac下 配置 CGI python)