博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】CGI 的全称是:Common Gateway Interface,即通用网关接口,它是外部脚本程序(统称为 CGI 程序,可以是 PHP 、Python 、Perl 、C 、C++ 等等)与 Web 服务器之间的一个接口。当 web 服务器无法解析 php、py 文件的时候,通过 CGI 接口将其转交给外部程序进行处理,最后返回给客户端 Web 浏览器。
本文针对原理性的知识不做太多陈述,直接给出 CGI 的工作原理图(转载于网络):
接下来直接记录 windows 下 Apache 服务器如何配置 Python 3.7.1 的 CGI,简单的说,通过这种方式,就可以使用 python 搭建一个 web 网站啦。
第一步,开启 cgi 模块(默认是已开启的):
LoadModule cgi_module modules/mod_cgi.so
第二步,添加 .py 后缀:
# 将
#AddHandler cgi-script .cgi
# 改成
AddHandler cgi-script .cgi .py
第三步,设置别名:
# 方法一,设置目录别名,通过路径来访问
<IfModule alias_module>
# "d:/wamp/www/python/cgi/" 是放入 python 文件的位置
ScriptAlias /cgi-bin/ "d:/wamp/www/python/cgi/"
</IfModule>
<Directory "d:/wamp/www/python/cgi/">
AllowOverride None
Options None
Require all granted
</Directory>
# 方法二,设置虚拟主机,单独一个站点来访问运行 python ,有关如何设置虚拟主机,这里不详细记录,之前文章已经记录过的
<VirtualHost *:80>
DocumentRoot "d:/wamp/www/python/cgi/"
ServerName www.mypython.org
<Directory "d:/wamp/www/python/cgi/">
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AllowOverride None
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
第四步,编写 python 程序,以下前六行代码都起到作用,且顺序不能够更换:
#!D:Program FilesPython3.7.1python.exe
# -*- coding: utf-8 -*-
import codecs, sys
sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer) # 设置编码格式:utf-8
print("Content-type:text/html;charset=utf-8")
print("") # 空行,告诉服务器结束头部
hello = "嗨,大家好,这是 python 的 cgi"
print(hello)
第五步,重启 apache ,浏览器访问,检验是否成功:
版权归 马富天PHP博客 所有
本文标题:《Windows 下 Apache 服务器配置 Python CGI》
本文链接地址:http://www.mafutian.net/392.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶0
踩0
评论审核未开启 |