Windows 配置Apache+CGI
2021-03-20 20:25
标签:could 安装 pad 配置步骤 eset one -- let listen 首先还是先在官网下载Apache,版本为Apache 2.4.26 x64,下载64位的 下载完成后解压,Apache24移动到你想放置的地方 我这里是把Apache24放在G盘下。 接下来进行CGI配置 进入conf,用记事本(或者Notepad等编辑器)编辑httpd.conf文件 详细讲解配置步骤: Step:1.修改安装目录,在39行左右 Step:2.修改Listen端口,在67行左右 Step:3.开启基于主机的组授权(名称或IP地址),在81行左右 直接去掉前面的#注释即可 Step:4.开启apache的代理模块 ,在149行左右 Step:5.开启代理http和https请求,在157行左右 Step:6.开启rewrite模式,在167行左右 Step:7.开启虚拟主机动态配置,在188行左右 Step:8.设置CGI路径的访问权限,在239行左右 删掉或注释掉,修改为下面的内容 注意,所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。 Step:9.设置CGI脚本文件路径,在373行左右 后面的路径修改为“G:/var/www/cgi-bin/”,跟上一步一样 Step:10.AddHandler中添加.py后缀,,在428行左右 Step:11.开启虚拟主机配置,在509行左右 直接去掉前面的#注释即可 这样修改httpd.conf就可以了,保存即可。 然后把Apache安装成Windows后台服务 注意,如果启动失败,出现这样的错误, make_sock: could not bind to address [::]:443 请参考这篇文章的处理方式:https://www.cnblogs.com/music-liang/p/11845975.html 启动成功后,浏览器输入 http://localhost:88/ 现实这样即为成功。 如果提示启动失败 在G:/var/www/cgi-bin目录下面放一个文件 chap15.5.cgi文件内容如下。这是我学习Python基础教程第15章的一个示例。 注意,第1行必须要加上Python解释器。否则会出错。 在浏览器中输入: 大功告成。 PS: 参考地址: https://blog.csdn.net/zhuanshu666/article/details/74936940 Windows 配置Apache+CGI 标签:could 安装 pad 配置步骤 eset one -- let listen 原文地址:https://www.cnblogs.com/music-liang/p/11846268.html
地址为:http://www.apachehaus.com/cgi-bin/download.plx
【简洁版修改步骤:这里只列出了要修改的关键地方】(后面有介绍详细修改步骤)
# STEP:1.设置Appache在你电脑的安装目录
Define SRVROOT "G:/Apache24"
ServerRoot "${SRVROOT}"
...
#Listen 12.34.56.78:80
# STEP:2.修改监听端口
Listen 88
...
# STEP:3.开启基于主机的组授权(去掉下面这行的注释即可)
LoadModule access_compat_module modules/mod_access_compat.so
...
# STEP:4.开启apache的代理模块(直接去掉前面的注释即可)
LoadModule proxy_module modules/mod_proxy.so
...
# STEP:5.开启代理http和https请求(直接去掉前面的注释即可)
LoadModule proxy_http_module modules/mod_proxy_http.so
...
# STEP:6.开启rewrite模式(直接去掉前面的注释即可)
LoadModule rewrite_module modules/mod_rewrite.so
...
# STEP:7.开启虚拟主机动态配置(直接去掉前面的#注释即可)
LoadModule vhost_alias_module modules/mod_vhost_alias.so
...
# STEP:8.开启CGI路径的访问权限
...
当前Apache安装存放的目录,例如我这里的"G:/Apache"
修改Define SRVROOT后面的路径
默认为80,80端口可能会被其他程序占用,所以我这里修改为88,当然也可以修改为其他的8088、90等,只要没有被占用就行了
LoadModule access_compat_module modules/mod_access_compat.so
直接去掉前面的#注释即可
LoadModule proxy_module modules/mod_proxy.so
直接去掉前面的#注释即可
LoadModule proxy_http_module modules/mod_proxy_http.so
直接去掉前面的#注释即可
LoadModule rewrite_module modules/mod_rewrite.so
直接去掉前面的#注释即可
LoadModule vhost_alias_module modules/mod_vhost_alias.so
原本的内容为
AllowOverride none
Require all denied
AllowOverride All
Options +ExecCGI
Order allow,deny
Allow from all
这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。
所以这里修改的目录为“G:/var/www/cgi-bin/”。(我在G盘手动创建了"G:/var/www/cgi-bin/"目录)
这里的意思是将" G:/var/www/cgi-bin/"映射为/cgi-bin/,当通过浏览器访问/cgi-bin/目录时,实际上就是访问" G:/var/www/cgi-bin/"目录
这样我们就可以访问.py结尾的Python脚本文件
先去掉前面的#注释,再在后面加上.py就行了,注意用空格隔开
Include conf/extra/httpd-vhosts.conf
使用命令:httpd -k install -n "Apache2.4"
前面的配置没问题的话,一般是安装成功的
注意要先指定到Apache的bin目录下再执行命令启动Apache
启动:httpd.exe -w -n "Apache2.4" -k start
停止:httpd.exe -w -n "Apache2.4" -k stop
重启:httpd.exe -w -n "Apache2.4" -k restart
进行winsock的修复
在运行里输入:netsh winsock reset
然后重启电脑即可#!C:\Users\heliang\AppData\Local\Programs\Python\Python38-32\python.exe
print("Content-type:text/plain")
print()
print("-------使用CGI创建动态网页--------")
"""
python -m http.server --cgi
如果是在Linux下面,则第1行 应该像下面这么写
#!/usr/bin/env python
"""
# http://localhost:88/cgi-bin/chap15.5.cgi
print("Hello, world!")
print()
print("CGI")
http://localhost:88/cgi-bin/chap15.5.cgi
如果想删除服务
执行:sc delete apache2.4
文章标题:Windows 配置Apache+CGI
文章链接:http://soscw.com/index.php/essay/66856.html