Windows 下 Apache 服务器配置 Python CGI

学习笔记 马富天 2018-11-21 15:36:26 13 0

【摘要】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 模块(默认是已开启的):

  1. LoadModule cgi_module modules/mod_cgi.so

第二步,添加 .py 后缀:

  1. #	将
  2. #AddHandler cgi-script .cgi
  3. #	改成
  4. AddHandler cgi-script .cgi .py

第三步,设置别名:

  1. #	方法一,设置目录别名,通过路径来访问
  2. <IfModule alias_module>
  3. 	#	"d:/wamp/www/python/cgi/" 是放入 python 文件的位置 
  4.     ScriptAlias /cgi-bin/ "d:/wamp/www/python/cgi/"
  5. </IfModule>
  6. <Directory "d:/wamp/www/python/cgi/">
  7.     AllowOverride None
  8.     Options None
  9.     Require all granted
  10. </Directory>	
  11. #	方法二,设置虚拟主机,单独一个站点来访问运行 python ,有关如何设置虚拟主机,这里不详细记录,之前文章已经记录过的
  12. <VirtualHost *:80>
  13. 	DocumentRoot "d:/wamp/www/python/cgi/"
  14. 	ServerName www.mypython.org
  15. 	<Directory "d:/wamp/www/python/cgi/">
  16. 		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  17. 		AllowOverride None
  18. 		Order deny,allow
  19. 		Allow from all
  20. 	</Directory>
  21. </VirtualHost>

第四步,编写 python 程序,以下前六行代码都起到作用,且顺序不能够更换:

  1. #!D:Program FilesPython3.7.1python.exe
  2. # -*- coding: utf-8 -*-
  3. import codecs, sys
  4. sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer)    #   设置编码格式:utf-8
  5. print("Content-type:text/html;charset=utf-8")
  6. print("")   #   空行,告诉服务器结束头部
  7. hello = "嗨,大家好,这是 python 的 cgi"
  8. print(hello)

第五步,重启 apache ,浏览器访问,检验是否成功:

请输入图片名称

版权归 马富天个人博客 所有

本文标题:《Windows 下 Apache 服务器配置 Python CGI》

本文链接地址:http://www.mafutian.com/392.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 JavaScript/js 匿名函数 》 下一篇《 windows 下面 mysql 忘记密码怎么办【mysql 无密码登录】 》

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多