Apache + CGI(Python)的简单实用WEB程序的开发

本文介绍如何在Apache服务器上配置并使用Python CGI进行Web开发。内容包括Apache的安装及配置、Python CGI脚本编写示例等。适用于希望了解CGI编程的初学者。
部署运行你感兴趣的模型镜像
1.Apache + CGI的架构图


2.Apache + Python CGI的开发和配置方法
(1)安装apache
执行命令yum install httpd即可完成apache的安装,确保apache配置/etc/httpd/conf/httpd.conf中包含如下配置:
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options +ExecCGI
    Order allow,deny
    Allow from all
</Directory>

AddHandler cgi-script .cgi .pl .py
备注:ScriptAlias指定了python cgi脚本的存放目录为/var/www/cgi-bin/,且用户访问的方式为http://ip:port/cgi-bin/XXX;<Directory "/var/www/cgi-bin">配置了cgi脚本目录的可执行权限;AddHandler cgi-script指令配置可以支持的cgi脚本文件的后缀。
(2)编写Python CGI脚本
举例来说,
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Desc:   python common cgi
Date:   2017-11-23
Author: xxxx
"""
import time

#定义全局变量
nowtime = ''

def initData():
    """用来获取填充html页面的数据
    """
    global nowtime
    nowtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

def genHtml2():
    """生成HTML页面, 使用三个双引号,使Python中的HTML页面更美观
    """
    print 'Content-type:text/html'
    print
    print """
<html>
    <head>
        <meta charset="utf-8">
        <title>Python CGI DEMO程序</title>
    </head>
    <body>
        <h1>This is DEMO~~~~</h1>
    </body>
</html>
"""

def genHtml():
    """生成HTML页面
    """
    print "Content-type:text/html"
    print
    print '<html>'
    print '<head>'
    print '<meta charset="utf-8">'
    print '<title>Python CGI DEMO程序</title>'
    print '</head>'
    print '<body>'
    print '<h2>当前时间为: %s</h2>' % nowtime
    print '</body>'
    print '</html>'

def main():
    """CGI入口
    """
    #初始化环境
    initData()

    #生成页面
    genHtml()

if __name__ == '__main__':
    main()
备注:可以将该文件命名为xxx.cgi,xxx.py等等都是可以的。这个脚本可以成任何的脚本语言哦,例如perl,shell,C以及C++等等。


学习资料参考于:

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值