以前用Python运行的Web框架都是要运行在Linux下,加上WSGI服务器,比如Gunicorn+Flask,后来了解到了Apache,看看能不能基于Apache这个Web服务器下给python提供Web环境。于是上网找了很多资料,现在总结如下。
这篇是在Window10下Apache2.4的安装和运行。
首先我们要先下载Apache2.4服务器:
http://httpd.apache.org/download.cgi
关于现在版本的服务器说明一下,Apache有本身的服务器是不能使用的,必须要先编译才可以使用的。但是在他的官网上也提供了第三方编译好的Apache所以这里我们就,下载第三方的而不用自己手动在编译了。这里它提供了五个第三方的服务器。
下载工程如下图所示:
说明:今天我们就以ApacheHaus为例,其他版本可能配置不同,可以自行搜索解决。根据提供的网址下载好服务器
第38行默认是
Define SRVROOT "/Apache24"
ServerRoot "${SRVROOT}"
修改为你安装Apache的所在目录
#Define SRVROOT "/Apache24"
Define SRVROOT "D:\Apache\httpd-2.4.25-x64-vc11-r1\Apache24"
ServerRoot "${SRVROOT}"
如果不修改会提示错误:
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
第60行默认是:
#Listen 12.34.56.78:80
Listen 80
改为8081
#Listen 12.34.56.78:80
Listen 8081
第224行默认是:
ServerName localhost:80
改为:
ServerName localhost:8081
如果不修改会提示错误:
(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
以管理员身份运行cmd或者PowerShell,进入到Apache24\bin目录下,并输入./httpd.exe -k install
,安装apache服务,看到以下信息说明安装成功:
Installing the ‘Apache2.4‘ service
The ‘Apache2.4‘ service is successfully installed.
需要卸载则输入./httpd.exe -k uninstall
即可。
如果提示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
解决办法为
打开httpd.conf, 找到加载ssl_module
的那一行, 加#号注释掉就好了:# LoadModule ssl_module modules/mod_ssl.so
现在输入httpd.exe -k start
命令就可以了。
如果不想每次启动停止Apache都输入命令,可以到Apache24\bin目录下使用ApacheMonitor.exe软件。
原文:http://www.cnblogs.com/xqnq2007/p/7142518.html