windows下 python+apache+cgi

操作系统:windows10 x64   Python:3.6

 步骤:

1.下载符合本操作系统最新apache: 官网 http://httpd.apache.org/

本人下载为 apache 24  x64

2. 将下载的apache压缩包解压

本人解压至:E:\apache24

3.进入到E:\Apache24\conf 修改httpd.conf文件

将SRVROOT  “/Apache24” 修改为:SRVROOT "E:/Apache24"

将Listen 80 修改为 Listen 8080   ,ServerName localhost:80    修改为 ServerName localhost:8080

因为80端口可能会被iis占用

或者将80端口改为其他的不被占用的端口

4.进入 E:\Apache24\bin  双击 httpd.exe 启动Apache服务

在浏览器中输入 localhost:8080 若左侧it works则说明启动了服务

还得到E:\Apache24\htdocs下建立一个测试文件,如:

2.html 内容为 hello world

然后在浏览器中输入: localhost:8080\2.html  若显示为hello world 则表示 httpd.conf文件并未出现错误

5一个建立test.py文件:

#! C:\Users\i\AppData\Local\Programs\Python\Python36\python.exe
#coding=gbk
print("Content-type:text/html\n")
print('<h2>Hello Word! 我的第一个cgi</h2>')

其中C:\Users\i\AppData\Local\Programs\Python\Python36\python.exe 为python 解析器所在地址

coding=gbk为编码格式

#号并不是注释, 一定要添加

将 test.py文件放入E:\Apache24\cgi-bin目录 下

6.在浏览器中输入http://localhost:8080/cgi-bin/test.py,若正确显示Hello Word! 我的第一个cgi则成功,若显示错误,则到

E:\Apache24\logs的error文件中查找错误原因

 可能出现的问题:

对于httpd.conf的文件修改出现的问题:

1.反复替换${SRVROOT} 字符为绝对路径,这太 浪费时间了,因为 

Define SRVROOT 就已经 定义了SRVROOT 只要将

Define SRVROOT "/Apache24" 改为Define SRVROOT "E:/Apache24"即可

2.将 <Directory "${SRVROOT}/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

修改为

 <Directory "${SRVROOT}/cgi-bin">
   Order allow,deny

  Options+ExecCGI

  Allow from all
</Directory>

这是错的,这会导致文件错误,因为这对windows系统无效

对于.py文件的错误:

1.开头添加 #!usr/bin/python 而不是xxx/python.exe

这是错的,因为这在windows系统中无效

猜你喜欢

转载自blog.csdn.net/GhostWHS/article/details/81784119