以前用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软件。

Window10下Apache2.4的安装和运行的更多相关文章

  1. Windows下Apache2.2+PHP5安装步骤

    Windows下Apache2.2+PHP5安装 初学者在学习PHP的时候可能都会遇到安装Apache和PHP不成功的问题,于是很多开发者便选择了集成包,一键安装好Apache+PHP+MySQL.但 ...

  2. Lua在Windows下的配置、安装、运行

    Windows下安装.运行Lua! 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1↓ 进入Lua官网:h ...

  3. Sublime Text 3(中文)在Windows下的配置、安装、运行

    Sublime Text 3(中文)下载.安装.运行! 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 具体 ...

  4. window10下用ZIP压缩包安装 mysql 8.0.11

    1.下载地址 https://dev.mysql.com/downloads/mysql/ 2.解压后的文件目录如图,复制到指定的文件目录,如我的 E:\root\mysql-8.0.11-winx6 ...

  5. window10下通过docker安装swoole,运行laravel-swoole服务

    最近公司压测一个接口,用laravel框架,业务逻辑就是从缓存中取数据,tps总是上不去,于是决定换下swoole来替换php-fpm,来处理php请求,tps比原来高了好几倍. 现在有个问题就是wi ...

  6. Linux下Apache2.2和PHP5的安装配置

    Linux下Apache2.2和PHP5的安装配置 环境介绍 我安装使用的Linux版本为CentOS6.5最精简版,Apache为2.2.29,PHP版本为5.4.28. 系统安装 首先安装Cent ...

  7. win7 64下暗黑世界V1.1 服务器端及客户端的安装及运行 成功

    原地址:http://bbs.gameres.com/thread_223717.html 屌丝一枚,没有MAC 更没有XCODE 潜心整了星期六与星期天两天才安装运行成功...只能说安装太复杂了,, ...

  8. flume 1.7在windows下的安装与运行

    flume 1.7在windows下的安装与运行 一.安装 安装java,配置环境变量. 安装flume,flume的官网http://flume.apache.org/,下载地址,下载后直接解压即可 ...

  9. [翻译]第一天 - 在 Windows 下安装和运行 .NET Core

    原文: http://michaelcrump.net/getting-started-with-aspnetcore/ 免责声明:我不是 .NET Core 开发团队的一员,并且使用的是公开.可用的 ...

随机推荐

  1. spring boot + activeMq 邮件服务

    引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s ...

  2. STF 连接其它操作系统上的安卓设备实操介绍【转】

    功能简介:https://www.jianshu.com/p/464fadaeb1d7 搭建教程:https://blog.csdn.net/xl_lx/article/details/7944586 ...

  3. luogu2893 [USACO08FEB]修路Making the Grade

    ref #include <algorithm> #include <iostream> #include <cstring> #include <cstdi ...

  4. luogu1903 【模板】分块/带修改莫队(数颜色)

    莫队算法模板 推荐阅读这篇博客 #include <algorithm> #include <iostream> #include <cstdio> #includ ...

  5. 理解依赖注入 for Zend framework 2

    依赖注入(Dependency Injection),也成为控制反转(Inversion of Control),一种设计模式,其目的是解除类之间的依赖关系. 假设我们需要举办一个Party,Part ...

  6. webdriver高级应用- 操作富文本框

    富文本框的技术实现和普通的文本框的定位存在较大的区别,富文本框的常见技术用到了Frame标签,并且在Frame里面实现了一个完整的HTML网页结构,所以使用普通的定位模式将无法直接定位到富文本框对象. ...

  7. selenium - 常用页面操作

    # 2.常用页面操作 # 访问某一个页面url = 'http://www.baidu.com'driver.get(url) # 获取页面的标题title = driver.titleprint(t ...

  8. TensorFlow——热身运动:简单的线性回归

    过程: 先用numpy建立100个数据点,再用梯度下滑工具来拟合,得到完美的回归线. # _*_coding:utf-8_*_ import tensorflow as tf import numpy ...

  9. 2018天梯赛第一次训练题解和ac代码

    随着评讲的进行代码和题解会逐步放上来 2018天梯赛第一次训练 1001 : 进制转换 Time Limit(Common/Java):1000MS/10000MS     Memory Limit: ...

  10. linux各种版本查看方法

    1.linux内核版本 cat /proc/version Linux version 4.13.0-39-generic (buildd@lgw01-amd64-038) (gcc version ...