首先还是先在官网下载Apache,版本为Apache 2.4.26 x64,下载64位的
地址为:http://www.apachehaus.com/cgi-bin/download.plx

下载完成后解压,Apache24移动到你想放置的地方

我这里是把Apache24放在G盘下。


接下来进行CGI配置

进入conf,用记事本(或者Notepad等编辑器)编辑httpd.conf文件

  1. 【简洁版修改步骤:这里只列出了要修改的关键地方】(后面有介绍详细修改步骤)
    # STEP:.设置Appache在你电脑的安装目录
  2. Define SRVROOT "G:/Apache24"
  3. ServerRoot "${SRVROOT}"
  4. ...
  5. #Listen 12.34.56.78:
  6. # STEP:.修改监听端口
  7. Listen
  8. ...
  9. # STEP:.开启基于主机的组授权(去掉下面这行的注释即可)
  10. LoadModule access_compat_module modules/mod_access_compat.so
  11. ...
  12.  
  13. # STEP:.开启apache的代理模块(直接去掉前面的注释即可)
  14. LoadModule proxy_module modules/mod_proxy.so
  15. ...
  16.  
  17. # STEP:.开启代理http和https请求(直接去掉前面的注释即可)
  18. LoadModule proxy_http_module modules/mod_proxy_http.so
  19. ...
  20. # STEP:.开启rewrite模式(直接去掉前面的注释即可)
  21. LoadModule rewrite_module modules/mod_rewrite.so
  22. ...
  23.  
  24. # STEP:7.开启虚拟主机动态配置(直接去掉前面的#注释即可)
    LoadModule vhost_alias_module modules/mod_vhost_alias.so
    ...
  1. # STEP:.开启CGI路径的访问权限
  2. <Directory "G:/var/www/cgi-bin/">
  3. AllowOverride All
  4. Options +ExecCGI
  5. Order allow,deny
  6. Allow from all
  7. </Directory>
  8. ...
  9.  
  10. # STEP:.修改映射地址
  11. ScriptAlias /cgi-bin/ "G:/var/www/cgi-bin/"
  12. ...
  13.  
  14. # STEP:.添加后缀
  15. AddHandler cgi-script .cgi .pl .py
  16. ...
  17.  
  18. # STEP:.开启虚拟主机配置
  19. # Virtual hosts
  20. Include conf/extra/httpd-vhosts.conf
    ...

详细讲解配置步骤:


Step:1.修改安装目录,在39行左右
当前Apache安装存放的目录,例如我这里的"G:/Apache"
修改Define SRVROOT后面的路径

Step:2.修改Listen端口,在67行左右
默认为80,80端口可能会被其他程序占用,所以我这里修改为88,当然也可以修改为其他的8088、90等,只要没有被占用就行了

Step:3.开启基于主机的组授权(名称或IP地址),在81行左右

直接去掉前面的#注释即可
LoadModule access_compat_module modules/mod_access_compat.so

Step:4.开启apache的代理模块 ,在149行左右
直接去掉前面的#注释即可
LoadModule proxy_module modules/mod_proxy.so

Step:5.开启代理http和https请求,在157行左右
直接去掉前面的#注释即可
LoadModule proxy_http_module modules/mod_proxy_http.so

Step:6.开启rewrite模式,在167行左右
直接去掉前面的#注释即可
LoadModule rewrite_module modules/mod_rewrite.so

Step:7.开启虚拟主机动态配置,在188行左右
直接去掉前面的#注释即可
LoadModule vhost_alias_module modules/mod_vhost_alias.so

Step:8.设置CGI路径的访问权限,在239行左右
原本的内容为
<Directory />
AllowOverride none
Require all denied
</Directory>

删掉或注释掉,修改为下面的内容
<Directory " G:/var/www/cgi-bin/">
AllowOverride All
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>

注意,所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。
这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。
所以这里修改的目录为“G:/var/www/cgi-bin/”。(我在G盘手动创建了"G:/var/www/cgi-bin/"目录)

Step:9.设置CGI脚本文件路径,在373行左右

后面的路径修改为“G:/var/www/cgi-bin/”,跟上一步一样
这里的意思是将" G:/var/www/cgi-bin/"映射为/cgi-bin/,当通过浏览器访问/cgi-bin/目录时,实际上就是访问" G:/var/www/cgi-bin/"目录

Step:10.AddHandler中添加.py后缀,,在428行左右
这样我们就可以访问.py结尾的Python脚本文件
先去掉前面的#注释,再在后面加上.py就行了,注意用空格隔开

Step:11.开启虚拟主机配置,在509行左右

直接去掉前面的#注释即可
Include conf/extra/httpd-vhosts.conf

这样修改httpd.conf就可以了,保存即可。

然后把Apache安装成Windows后台服务
使用命令:httpd -k install -n "Apache2.4"
前面的配置没问题的话,一般是安装成功的
注意要先指定到Apache的bin目录下再执行命令

  1. 启动Apache
  2. 启动:httpd.exe -w -n "Apache2.4" -k start
  3. 停止:httpd.exe -w -n "Apache2.4" -k stop
  4. 重启:httpd.exe -w -n "Apache2.4" -k restart

注意,如果启动失败,出现这样的错误, make_sock: could not bind to address [::]:443

请参考这篇文章的处理方式:https://www.cnblogs.com/music-liang/p/11845975.html

启动成功后,浏览器输入 http://localhost:88/

现实这样即为成功。

如果提示启动失败
进行winsock的修复
在运行里输入:netsh winsock reset
然后重启电脑即可

在G:/var/www/cgi-bin目录下面放一个文件

chap15.5.cgi文件内容如下。这是我学习Python基础教程第15章的一个示例。

注意,第1行必须要加上Python解释器。否则会出错。

  1. #!C:\Users\heliang\AppData\Local\Programs\Python\Python38-32\python.exe
  2. print("Content-type:text/plain")
  3. print()
  4. print("-------使用CGI创建动态网页--------")
  5.  
  6. """
  7. python -m http.server --cgi
  8. 如果是在Linux下面,则第1行 应该像下面这么写
  9. #!/usr/bin/env python
  10. """
  11.  
  12. # http://localhost:88/cgi-bin/chap15.5.cgi
  13.  
  14. print("Hello, world!")
  15. print()
  16. print("CGI")

在浏览器中输入:

  1. http://localhost:88/cgi-bin/chap15.5.cgi

大功告成。

PS:
如果想删除服务
执行:sc delete apache2.4

参考地址:

https://blog.csdn.net/zhuanshu666/article/details/74936940

Windows 配置Apache+CGI的更多相关文章

  1. windows 配置 apache的多个站点

    windows 配置apache的多个站点 第一步打开apache的conf/extra/httpd-vhosts.conf,复制<VirtualHost></VirtualHost ...

  2. windows 配置 apache + php

    需要工具 apache  下载地址 php for windows  (与apache同版本,使用线程安全)下载地址 vc (Visual Studio C++) 根据 apache 与 php 的版 ...

  3. Windows 配置 Apache Python CGI

    提示:安装Apache可参考 https://jingyan.baidu.com/article/0eb457e53c019f03f1a905c7.html 1.  打开URL: https://ww ...

  4. Windows 配置Apache以便在浏览器中运行Python script的CGI模式

    打开httpd.conf,找到”#ScriptInterpreterSource Registry “,移除前面的注释# (如果找不到这行,就自己添加进去) 找到“Options Indexes Fo ...

  5. Windows配置Apache服务器

    下载的Apache版本:httpd-2.4.32-o102n-x64-vc14 简单粗暴式配置: 1.打开\conf\httpd.conf修改第60行和第224行,其中8081是电脑上没有被使用的端口 ...

  6. windows配置apache tomcat 集群

      1,安装包 httpd-2.2.22-win32-x86-no_ssl.msi 两个tomcat6 2,配置apachehttpd---配置的过程中有错误可以查看logs文件夹下的log文件进行排 ...

  7. windows配置apache支持https

    https://my.oschina.net/ososchina/blog/510065

  8. windows+phpstudy(apache) 以cgi方式运行python

    Apache配置 在httpd.conf中查找DocumentRoot: +ExecCGI 支持cgi DocumentRoot "F:\phpStud\PHPTutorial\WWW&qu ...

  9. Windows下配置Apache服务器并支持php

    php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php.Python.Java甚至asp等服务端语言,要 ...

随机推荐

  1. C#中窗口关闭时没有取消事件订阅导致事件重复执行的解决方法

    场景 C#中委托与事件的使用-以Winform中跨窗体传值为例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700 ...

  2. netCore3.0+webapi到前端vue(后端)

    第一步创建api项目 创建完成启动F5!! 如图 数据库我用的是mysql 用ef操作数据 开发环境:Win10 + VS2019Mysql服务器版本:8.0.16 1.下载并安装插件(必备) MyS ...

  3. C#中使用WCF创建面向网络的服务程序

    如题. 这种东西基于微软的一整套东西,在.NET内使用特别方便.利弊自行衡量,是否使用自行决定. 步骤1.创建一组在网上发布的方法 新建项目,类型选择“WCF服务应用程序”  在项目里,你可以补充任意 ...

  4. IOS之UIColor

    转自:http://blog.csdn.net/wudizhukk/article/details/8607229 UIColor常见用法,废话少说 直接网上抄来记录下,凭空想还真有点想不起来,最近记 ...

  5. CoreData数据库搭建

    1.首先创建父类吧重用的代码写在里边 #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @inte ...

  6. 图解Java数据结构之稀疏数组

    在编程中,算法的重要性不言而喻,没有算法的程序是没有灵魂的.可见算法的重要性. 然而,在学习算法之前我们需要掌握数据结构,数据结构是算法的基础. 我在大学的时候,学校里的数据结构是用C语言教的,因为对 ...

  7. hadoop 完全分布式集群搭建

    1.在伪分布式基础上搭建,伪分布式搭建参见VM上Hadoop3.1伪分布式模式搭建 2.虚拟机准备,本次集群采用2.8.3版本与3.X版本差别不大,端口号所有差别 192.168.44.10 vmho ...

  8. odoo12 权限配置1

    权限配置文档说明,这里使用公司开发的两个权限配置模块,可以快速的帮助你来配置复杂的odoo权限. 安装以下两个模块,SystemGroups模块是快速帮助你批量添加,创建基础群组需要用到的模块 Bas ...

  9. centos安装elasticsearch-rtf5.5.4

    安装jdk 我的博文里面有 https://www.cnblogs.com/vinic-xxm/p/11825691.html 安装elasticsearch-rtf git clone git:// ...

  10. Docker--部署mongodb+.netcore+nginx

    前言 公司租用的阿里云的服务器,每年会更换一次,很麻烦,还容易出问题,想会不会有更方便的方式来迁移服务器,就这样接触到了docker. 参考网上的一些资料,自己琢磨了一段时间,记录下docker的部署 ...