以前用Python运行的Web框架都是要运行在Linux下,加上WSGI服务器,比如Gunicorn+Flask,后来了解到了Apache,看看能不能基于Apache这个Web服务器下给python提供Web环境。于是上网找了很多资料,现在总结如下。

这篇是在Window10下Apache2.4的安装和运行。

开发环境

  • Windows 10 x64
  • Apache2.4 x64

版本介绍及安装过程

首先我们要先下载Apache2.4服务器: 
http://httpd.apache.org/download.cgi

关于现在版本的服务器说明一下,Apache有本身的服务器是不能使用的,必须要先编译才可以使用的。但是在他的官网上也提供了第三方编译好的Apache所以这里我们就,下载第三方的而不用自己手动在编译了。这里它提供了五个第三方的服务器。

  1. 如果要安装继承开发环境,可以选择后两个WampServer和XAMPP,安装使用都很方便。
  2. 下载单独的安装包可以选择前两个网站ApacheHaus和Apache Lounge

下载工程如下图所示:

说明:今天我们就以ApacheHaus为例,其他版本可能配置不同,可以自行搜索解决。根据提供的网址下载好服务器

Apache服务器配置

  1. 下载好之后我们将压缩包进行解压,然后将解压后的文件放置在指定的目录下。这理我放在D:\Apache。
  2. 进入Apache24\conf目录下打开httpd.conf文件,对其进行修改默认的配置

修改一

第38行默认是

Define SRVROOT "/Apache24"
ServerRoot "${SRVROOT}"
  • 1
  • 2
  • 1
  • 2

修改为你安装Apache的所在目录

#Define SRVROOT "/Apache24"
Define SRVROOT "D:\Apache\httpd-2.4.25-x64-vc11-r1\Apache24"
ServerRoot "${SRVROOT}"
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

如果不修改会提示错误:

httpd.exe: Syntax error on line 39 of D:/Android_Develop_Tools/httpd-2.4.23-x64-
vc14/Apache24/conf/httpd.conf: ServerRoot must be a valid directory
  • 1
  • 2
  • 1
  • 2

修改二

第60行默认是:

#Listen 12.34.56.78:80
Listen 80
  • 1
  • 2
  • 1
  • 2

改为8081

#Listen 12.34.56.78:80
Listen 8081
  • 1
  • 2
  • 1
  • 2

修改三

第224行默认是:

ServerName localhost:80   
  • 1
  • 1

改为:

ServerName localhost:8081  
  • 1
  • 1

如果不修改会提示错误:

(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。  : AH00072: make_sock: could not bind to address [::]:80
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

以管理员身份运行cmd或者PowerShell,进入到Apache24\bin目录下,并输入./httpd.exe -k install,安装apache服务,看到以下信息说明安装成功:

Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
  • 1
  • 2
  • 1
  • 2

需要卸载则输入./httpd.exe -k uninstall即可。

解决443端口被占用

如果提示443端口被占用了

(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。  : AH00072: make_sock: could not bind to address [::]:443
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address 0.0.0.0:443 AH00451: no listening sockets available, shutting down
  • 1
  • 2
  • 1
  • 2

解决办法为

打开httpd.conf, 找到加载ssl_module的那一行, 加#号注释掉就好了:# LoadModule ssl_module modules/mod_ssl.so 
现在输入httpd.exe -k start命令就可以了。

小技巧

如果不想每次启动停止Apache都输入命令,可以到Apache24\bin目录下使用ApacheMonitor.exe软件。

最新文章

  1. C#多线程线程
  2. Python常用模块之sys
  3. Java String是不可变对象
  4. Cow Sorting(置换)
  5. Glossary of Terms in the JavaTM platform --reference
  6. 改进的newlisp编译脚本,只需要配置
  7. okHttp封装使用
  8. 浅谈:html5和html的区别
  9. Java 集合系列(二)—— ArrayList
  10. 2018总结-->2019新目标
  11. selenium测瀑布流UI页面的Python代码
  12. R语言网页爬虫
  13. 深入探讨 Java 类加载器(转)
  14. CentOS7安装OpenStack(Rocky版)-08.启动一个虚拟机实例
  15. gulp插件(8) - gulp-sourcemaps(生成sourcemap)
  16. Bootstrap-CL:多媒体对象
  17. 洛谷P3763 [Tjoi2017]DNA 【后缀数组】
  18. 【JavaScript】JavaScript DOM 编程
  19. Nhibernate系列学习之(二) 简单增删改查
  20. 虚拟dom和真实dom的转化和class解析的顺序

热门文章

  1. 《鸟哥的Linux私房菜》学习笔记(3)——根文件系统
  2. TSS (任务状态段)的作用及结构
  3. Stringsobits(模拟)
  4. String、StringBuffer和StringBuilder,定义一个自己的StringBuilder的类
  5. javascript基础2 判断 数据类型
  6. BZOJ1879 [Sdoi2009]Bill的挑战 【状压dp】
  7. windows命令总结
  8. bzoj[Usaco2008 Nov]mixup2 混乱的奶牛 状压dp
  9. FWT 学习笔记
  10. 【BZOJ1901】Dynamic Rankings(树套树,树状数组,主席树)