操作系统: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系统中无效