由于Apache官网改变策略(2015年1月左右),官网不再提供Apache-http-server的windows的编译版本,但是提供了几个第三方的版本

http://httpd.apache.org/docs/current/platform/windows.html#down

分别是ApacheHaus、Apache Lounge、BitNami WAMP Stack、WampServer、XAMPP

笔者进的是ApacheHaus下载Apache 2.4.x VC9 64位版本

建议下载httpd-2.4.12-x64-r2.zip、httpd-2.4.12-x86-r2.zip

然后下载对应的VC9(VC2008)运行库

32位

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2

64位

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=BA9257CA-337F-4B40-8C14-157CFDFFEE4E

安装好VC9运行库之后,将httpd-2.4.12-x64-r2.zip里面的Apache24文件夹放到D盘根目录(注意:必须放到根目录,其他目录启动和加载模块会出错)

然后打开命令行,切换到bin目录,运行httpd.exe

C:\Users\test>D:

D:\>cd Apache24

D:\Apache24>cd bin

D:\Apache24\bin>httpd.exe
(OS )通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: mak
e_sock: could not bind to address [::]:
(OS )通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: mak
e_sock: could not bind to address 0.0.0.0:
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs D:\Apache24\bin>

这里443端口被占用,我们可以通过netstat -ano查询那个进程在使用这个端口

参数解释:

  -a            显示所有连接和侦听端口。
-n 以数字形式显示地址和端口号。
-o 显示拥有的与每个连接关联的进程 ID。

结果如下:

D:\Apache24\bin>netstat -ano

活动连接

  协议  本地地址          外部地址        状态           PID
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP 127.0.0.1: 0.0.0.0: LISTENING
TCP 127.0.0.1: 0.0.0.0: LISTENING
TCP 127.0.0.1: 0.0.0.0: LISTENING
TCP 127.0.0.1: 127.0.0.1: ESTABLISHED
TCP 127.0.0.1: 0.0.0.0: LISTENING
TCP 127.0.0.1: 127.0.0.1: ESTABLISHED
TCP 127.0.0.1: 127.0.0.1: ESTABLISHED
TCP 127.0.0.1: 127.0.0.1: ESTABLISHED
TCP 127.0.0.1: 127.0.0.1: SYN_SENT
TCP 172.18.62.201: 0.0.0.0: LISTENING
TCP 172.18.62.201: 111.161.81.209: CLOSE_WAIT
TCP 172.18.62.201: 111.161.81.209: CLOSE_WAIT
TCP 172.18.62.201: 111.161.81.209: CLOSE_WAIT
TCP 172.18.62.201: 111.161.81.209: CLOSE_WAIT
TCP 172.18.62.201: 112.64.237.239: TIME_WAIT
TCP 172.18.62.201: 92.51.156.100: ESTABLISHED
TCP 172.18.62.201: 111.161.81.209: CLOSE_WAIT
TCP 172.18.62.201: 112.90.86.25: TIME_WAIT
TCP 172.18.62.201: 183.60.16.21: TIME_WAIT
TCP 172.18.62.201: 183.60.16.21: TIME_WAIT
TCP 172.18.62.201: 112.90.86.25: TIME_WAIT
TCP 172.18.62.201: 61.137.188.200: TIME_WAIT
TCP 172.18.62.201: 61.135.169.125: ESTABLISHED
TCP 172.18.62.201: 111.206.76.33: ESTABLISHED
TCP 172.18.62.201: 111.206.76.33: ESTABLISHED
TCP 172.18.62.201: 111.206.76.33: ESTABLISHED
TCP 172.18.62.201: 111.206.76.32: ESTABLISHED
TCP 172.18.62.201: 111.206.76.32: TIME_WAIT
TCP 172.18.62.201: 61.135.169.121: ESTABLISHED
TCP 172.18.62.201: 61.135.169.121: TIME_WAIT
TCP 172.18.62.201: 61.135.169.121: ESTABLISHED
TCP 172.18.62.201: 61.135.169.121: TIME_WAIT
TCP 172.18.62.201: 23.59.139.27: TIME_WAIT
TCP 172.18.62.201: 23.59.139.27: TIME_WAIT
TCP 172.18.62.201: 61.135.169.125: ESTABLISHED
TCP 172.18.62.201: 61.135.169.121: ESTABLISHED
TCP 172.18.62.201: 61.135.169.125: ESTABLISHED
TCP 172.18.62.201: 223.202.6.26: ESTABLISHED
TCP 172.18.62.201: 223.202.6.26: TIME_WAIT
TCP 172.18.62.201: 202.106.182.252: TIME_WAIT
TCP 172.18.62.201: 123.125.29.224: ESTABLISHED
TCP 172.18.62.201: 123.125.29.224: TIME_WAIT
TCP 172.18.62.201: 124.95.163.253: TIME_WAIT
TCP 172.18.62.201: 124.95.163.253: TIME_WAIT
TCP 172.18.62.201: 124.95.163.253: TIME_WAIT
TCP 172.18.62.201: 124.95.163.253: FIN_WAIT_1
TCP 172.18.62.201: 124.95.163.253: TIME_WAIT
TCP 172.18.62.201: 124.95.163.253: TIME_WAIT
TCP 172.18.62.201: 218.30.115.254: TIME_WAIT
TCP 172.18.62.201: 124.95.163.253: TIME_WAIT
TCP 172.18.62.201: 124.40.53.35: ESTABLISHED
TCP 172.18.62.201: 218.60.106.89: ESTABLISHED
TCP 172.18.62.201: 218.60.106.89: ESTABLISHED
TCP 172.18.62.201: 218.60.106.89: ESTABLISHED
TCP 172.18.62.201: 23.42.177.49: ESTABLISHED
TCP 172.18.62.201: 124.40.53.35: ESTABLISHED
TCP 172.18.62.201: 124.95.163.253: TIME_WAIT
TCP 172.18.62.201: 124.95.163.253: TIME_WAIT
TCP 172.18.62.201: 1.1.1.1: SYN_SENT
TCP 172.18.62.201: 123.125.125.85: TIME_WAIT
TCP 172.18.62.201: 125.39.120.82: SYN_SENT
TCP 192.168.116.1: 0.0.0.0: LISTENING
TCP 192.168.253.1: 0.0.0.0: LISTENING
TCP [::]: [::]: LISTENING
TCP [::]: [::]: LISTENING
TCP [::]: [::]: LISTENING
TCP [::]: [::]: LISTENING
TCP [::]: [::]: LISTENING
TCP [::]: [::]: LISTENING
TCP [::]: [::]: LISTENING
TCP [::]: [::]: LISTENING
TCP [::]: [::]: LISTENING
TCP [::]: [::]: LISTENING
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 0.0.0.0: *:*
UDP 127.0.0.1: *:*
UDP 127.0.0.1: *:*
UDP 172.18.62.201: *:*
UDP 172.18.62.201: *:*
UDP 172.18.62.201: *:*
UDP 172.18.62.201: *:*
UDP 192.168.116.1: *:*
UDP 192.168.116.1: *:*
UDP 192.168.116.1: *:*
UDP 192.168.116.1: *:*
UDP 192.168.253.1: *:*
UDP 192.168.253.1: *:*
UDP 192.168.253.1: *:*
UDP 192.168.253.1: *:*
UDP [::]: *:*
UDP [::]: *:*
UDP [::]: *:*
UDP [::]: *:*
UDP [::]: *:*
UDP [fe80::481a:1efd:d5d4:a87b%]: *:* UDP [fe80::481a:1efd:d5d4:a87b%]: *:* UDP [fe80::481a:1efd:d5d4:a87b%]: *:* UDP [fe80:::851f::17f1%]: *:* UDP [fe80:::851f::17f1%]: *:* UDP [fe80:::5b85:a10c:3cb7%]: *:* UDP [fe80:::5b85:a10c:3cb7%]: *:* UDP [fe80:::5b85:a10c:3cb7%]: *:* D:\Apache24\bin>

这个结果太多了,加个findstr命令查一下

D:\Apache24\bin>netstat -ano|findstr :
TCP 0.0.0.0: 0.0.0.0: LISTENING
TCP [::]: [::]: LISTENING D:\Apache24\bin>

可以看到PID为2472的进程占用了这个端口。

这是可以用进程管理器查看是那个进程占用,也可以用tasklist命令查看

D:\Apache24\bin>tasklist

映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
System Idle Process Services K
System Services K
smss.exe Services , K
csrss.exe Services , K
wininit.exe Services , K
services.exe Services , K
lsass.exe Services , K
svchost.exe Services , K
svchost.exe Services , K
nvvsvc.exe Services , K
QQPCRTP.exe Services , K
suservice.exe Services K
svchost.exe Services , K
svchost.exe Services , K
svchost.exe Services , K
svchost.exe Services , K
svchost.exe Services , K
spoolsv.exe Services , K
wlanext.exe Services , K
conhost.exe Services , K
svchost.exe Services , K
svchost.exe Services , K
TeamViewer_Service.exe Services , K
vmnat.exe Services , K
vmware-authd.exe Services , K
vmnetdhcp.exe Services , K
vmware-usbarbitrator64.ex Services , K
vmware-hostd.exe Services , K
svchost.exe Services , K
svchost.exe Services , K
SearchIndexer.exe Services , K
audiodg.exe Services , K
csrss.exe Console , K
winlogon.exe Console , K
dwm.exe Console , K
nvxdsync.exe Console , K
nvvsvc.exe Console , K
TeamViewer.exe Console , K
taskhostex.exe Console , K
explorer.exe Console , K
ChsIME.exe Console , K
tv_w32.exe Console , K
tv_x64.exe Console , K
nvtray.exe Console , K
SogouImeBroker.exe Console , K
SogouImeLoader.exe Console , K
SogouCloud.exe Console , K
vmware-tray.exe Console , K
QQPCTray.exe Console , K
QQPCNetFlow.exe Console , K
QQPCRealTimeSpeedup.exe Console , K
8021x.exe Console , K
dllhost.exe Console , K
firefox.exe Console , K
plugin-container.exe Console , K
FlashPlayerPlugin_17_0_0_ Console , K
FlashPlayerPlugin_17_0_0_ Console , K
QQProtect.exe Console , K
QQ.exe Console , K
TXPlatform.exe Console , K
360AP.exe Console , K
360AP.exe Console , K
360AP.exe Console , K
cmd.exe Console , K
conhost.exe Console , K
notepad.exe Console , K
SogouSmartInfo.exe Console , K
tasklist.exe Console , K
WmiPrvSE.exe Services , K D:\Apache24\bin>

加findstr的命令结果

D:\Apache24\bin>tasklist |findstr
vmware-hostd.exe Services , K D:\Apache24\bin>

笔者这里是虚拟机占用,解决方法要么关闭服务器进程/服务,要么换端口号,笔者这里换端口号

打开conf目录下的httpd.conf,搜索ssl

找到如下文字

# Secure (SSL/TLS) connections
# Note: The following must must be present to support
# starting without SSL on platforms with no /dev/random equivalent
# but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>
#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

从上面的文字可以看出ssl的配置文件在conf/extra/httpd-ahssl.conf目录下(注意:并不在conf/extra/httpd-ssl.conf目录,这一句被注释掉了)

将其中的443改成其他端口,如1443

第一处(Line 18)

Listen 

改成

Listen 1

第二处(Line 134,136)

<VirtualHost _default_:443>
SSLEngine on
ServerName localhost:443
SSLCertificateFile "${SRVROOT}/conf/ssl/server.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/server.key"
DocumentRoot "${SRVROOT}/htdocs"
# DocumentRoot access handled globally in httpd.conf
CustomLog "${SRVROOT}/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
<Directory "${SRVROOT}/htdocs">
Options Indexes Includes FollowSymLinks
AllowOverride AuthConfig Limit FileInfo
Require all granted
</Directory>
</virtualhost>

改成

<VirtualHost _default_:1443>
SSLEngine on
ServerName localhost:1443
SSLCertificateFile "${SRVROOT}/conf/ssl/server.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/server.key"
DocumentRoot "${SRVROOT}/htdocs"
# DocumentRoot access handled globally in httpd.conf
CustomLog "${SRVROOT}/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
<Directory "${SRVROOT}/htdocs">
Options Indexes Includes FollowSymLinks
AllowOverride AuthConfig Limit FileInfo
Require all granted
</Directory>
</virtualhost>

第三处(Line 150,152)

<VirtualHost *:443>
SSLEngine on
ServerName serverone.tld:443
SSLCertificateFile "${SRVROOT}/conf/ssl/serverone.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/serverone.key"
DocumentRoot "${SRVROOT}/htdocs"
CustomLog "${SRVROOT}/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
<Directory "${SRVROOT}/htdocs">
Options Indexes Includes FollowSymLinks
AllowOverride AuthConfig Limit FileInfo
Require all granted
</Directory>
</virtualhost>

改成

<VirtualHost *:1443>
SSLEngine on
ServerName serverone.tld:1443
SSLCertificateFile "${SRVROOT}/conf/ssl/serverone.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/serverone.key"
DocumentRoot "${SRVROOT}/htdocs"
CustomLog "${SRVROOT}/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
<Directory "${SRVROOT}/htdocs">
Options Indexes Includes FollowSymLinks
AllowOverride AuthConfig Limit FileInfo
Require all granted
</Directory>
</virtualhost>

第四处(Line 165,167)

<VirtualHost *:>
SSLEngine on
ServerName servertwo.tld:
SSLCertificateFile "${SRVROOT}/conf/ssl/servertwo.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/servertwo.key"
DocumentRoot "${SRVROOT}/htdocs"
CustomLog "${SRVROOT}/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
<Directory "${SRVROOT}/htdocs">
Options Indexes Includes FollowSymLinks
AllowOverride AuthConfig Limit FileInfo
Require all granted
</Directory>
</virtualhost>

改成

<VirtualHost *:>
SSLEngine on
ServerName servertwo.tld:
SSLCertificateFile "${SRVROOT}/conf/ssl/servertwo.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/servertwo.key"
DocumentRoot "${SRVROOT}/htdocs"
CustomLog "${SRVROOT}/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
<Directory "${SRVROOT}/htdocs">
Options Indexes Includes FollowSymLinks
AllowOverride AuthConfig Limit FileInfo
Require all granted
</Directory>
</virtualhost>

如果提示80端口占用,一般是IIS服务启动占用,解决方法也是两种,关闭IIS服务或者改端口,80端口在httpd.conf配置文件里面改

这时再用命令行输入

httpd.exe

不报错说明启动成功

浏览器打开http://localhost

看到Apache Haus的图标和It Works界面说明配置成功

将apache注册为系统服务

在管理员模式下启动命令行,输入httpd -k install

D:\Apache24\bin>httpd -k install
Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started. D:\Apache24\bin>

这是可以通过ApacheMonitor.exe界面控制apache服务器启动关闭重启

也可以执行以下命令来控制

httpd -k start
httpd -k stop
httpd -k restart

window下Apache-http-server(httpd-2.4.12)安装与配置的更多相关文章

  1. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  2. Windows Server 2012/2012 R2:安装和配置 SMTP 服务器

    Windows Server 2012/2012 R2:安装和配置 SMTP 服务器 安装 SMTP 服务器 以下是安装 SMTP 服务器功能的步骤: 打开“服务器管理器”:单击键盘上的 Window ...

  3. Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)

    如果您能点开这篇文章,说明您已对熟悉Apache HTTP Server(下文用Apache简称)配置的重要性已很清楚了,本文不在赘述,直接介入正题,请往下阅读: 为便于阅读,列出文章目录: 一.Ap ...

  4. Windows 下 Apache HTTP Server 与 Tomcat 的整合

    整合准备: 1.Apache HTTP Server(下文用Apache简称) 2.Tomcat 7或8 3.mod_jk.so (tomcat-connectors)-这个文件是用来链接http s ...

  5. Linux下Apache HTTP Server 2.4.20安装

    一.创建software目录 mkdir /softwareer 二.下载apache源码包 wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4 ...

  6. window下Jira+SQL Server部署+汉化+破解

    网上很多都是jira+mysql部署的文章,由于我现在有需求要用SQL Server数据库,因此就动手试了一下,参考网上许多文章,再加上自己的几次尝试,很快也成功了,分享出来. 全文章节: 一.事前准 ...

  7. CentOS 7下的Vim自动补齐插件YouCompleteMe安装及配置

    备注:现在对于 YouCompleteMe 的安装应采用更为简单的方法,即利用 Vundle 来安装这个插件.具体方法可见: Vundle 主页 YouCompleteMe 主页 而 .vimrc 的 ...

  8. Linux下(centos6.8)JDK1.8的安装与配置

    今天说下在Linux(centos6.8)系统下的JDK安装与配置. 据我所知的jdk安装方式有三种(rpm.yum方式没用过,暂且不提)今天只说解压安装方式: 一.解压jdk安装包: 附上jdk1. ...

  9. Centos下apache启动时httpd: apr_sockaddr_info_get() failed for 报错

    今天安装Apache httpd web服务器时,从官方网站上http://www.apache.org/dyn/closer.cgi下载httpd,然后在centos下解压,安装过程分为三部分: ( ...

随机推荐

  1. 团体程序设计天梯赛-练习集 L2-001 紧急救援 (25 分)

    作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上.当其他城市有紧急求 ...

  2. EasyUI与Bootstrap完美结合

    注意点:版本问题.两者都是基于jQuery来构建,所以对于版本的选择要注意下

  3. readhat7.0 bond配置

    Bonding的模式一共有7种: 1.mode=0(balance-rr)(平衡抡循环策略) 概念:链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路.交换机需要配置聚合口,思科叫por ...

  4. 1022: [SHOI2008]小约翰的游戏John9(Auti_SG)

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3150  Solved: 2013[Submit] ...

  5. 洛谷P1424小鱼的航程改进版

    题目链接https://www.luogu.org/problemnew/show/P1424

  6. luogu2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold

    ref #include <iostream> #include <cstring> #include <cstdio> using namespace std; ...

  7. python - 接口自动化测试 - MysqlUtil - 数据库操作封装

    # -*- coding:utf-8 -*- ''' @project: ApiAutoTest @author: Jimmy @file: mysql_util.py @ide: PyCharm C ...

  8. maven学习(一)——maven的下载与安装

    一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.1. ...

  9. BZOJ 1051:[HAOI2006]受欢迎的牛(强连通分量)

    受欢迎的牛Description每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么 ...

  10. 【bzoj3091】城市旅行 LCT区间合并

    题目描述 输入 输出 样例输入 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 样例输出 16/3 6/1 题解 LCT区间合并 前三个 ...