美文网首页
[Python]MAC Python CGI编程

[Python]MAC Python CGI编程

作者: Kean_Qi | 来源:发表于2018-03-06 16:22 被阅读271次

    你是否想使用Python语言创建一个网页,或者处理用户从web表单输入的数据?这些任务可以通过Python CGI(公用网关接口)脚本以及一个Apache web服务器实现。当用 户请求一个指定URL或者和网页交互(比如点击""提交"按钮)的时候,CGI脚本就会被web服务器启用。CGI脚本调用执行完毕后,它的输出结果就会被web服务器用来创建 显示给用户的网页。
    所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。
    CGI文件的扩展名为.cgi,python也可以使用.py扩展名。
    默认情况下,Linux服务器配置运行的cgi-bin目录中为/var/www。
    如果你想指定其他运行CGI脚本的目录,可以修改httpd.conf配置文件.

    1.配置Apache web服务器,让其能运行CGI脚本

    MAC 上Apache web服务器已经安装好的,我们只需要对Apache 支持CGI 配置:即可使用。
    进入/private/etc/apache2/httpd.conf

    image.png
    设置运行主机地址:
    ServerName 127.0.0.1:80
    Listen 80
    image.png

    设置HTML文件存放在web服务器上的/Library/WebServer/Documents目录,并通过DocumentRoot指令指定(指定网页文件所在目录)

    DocumentRoot "/Library/WebServer/Documents"
    <Directory "/Library/WebServer/Documents">
        AllowOverride None
        Options +ExecCGI
        Order allow,deny
        Order deny,allow 
        Allow from all
        AddHandler cgi-script .cgi .py .sh .php
    </Directory>
    

    为了启用CGI脚本,我们必须指定CGI脚本在web服务器上的位置,需要用到ScriptAlias指令:

    ScriptAlias /Documents/ "/Library/WebServer/CGI-Executables/"
    

    修改过程中可能会遇到无权修改问题:
    可以用chmod -R 777 某文件进行权限修改
    修改完成之后终端输入:
    sudo apachectl restart
    重启Apache

    2.配置完成之后对.py文件进编辑

    image.png

    下面访问URL:http://localhost/hello.py 这将会调用web服务器中下面所示脚本: /Library/WebServer/Documents/hello.py

    Python CGI编程使用方法见菜鸟教程Python CGI编程

    注意:

    print () 最好使用 print ('') 或 print ("")
    也可能会出现一些错误:
    python出现Non-ASCII character '\xe7' in file ex6.py on line 1, but no encoding declare错误

    相关文章

      网友评论

          本文标题:[Python]MAC Python CGI编程

          本文链接:https://www.haomeiwen.com/subject/phcrfftx.html