Windows运维_Windows下配置Apache-Haus(Apache2.4)

Windows运维_Windows下配置Apache-Haus(Apache2.4)

Apache Haus 是一个由网站管理员, 开发人员和爱好者组成的社区, 他们更喜欢使用 Apache Web 服务器而不是 IIS。

无论是出于商业还是娱乐目的, Apache 在 Windows 上的使用正在稳步增加, 我们希望通过为人们提供一个可以获得帮助并分享他们在 Windows 上使用 Apache 的经验的地方, 看到这一趋势继续下去。

我们的论坛为人们提供了一个会面, 提问或分享有关 Apache 安装和操作知识的场所, 并帮助他们了解最新技术。

请注意, Apache Haus 不隶属于 Apache 软件基金会, 不受其认可。Apache HTTP Server, Apache 和 Apache 羽毛徽标是 Apache 软件基金会的商标。

The Apache Haus is a community of webmasters, developers and hobbyists who prefer using the Apache Web Server over IIS.

Whether for business or pleasure, the use of Apache on Windows is steadily gaining and we hope to see the trend continue by offering people a place to come where they can get help and share their experiences using Apache on Windows.

Our forums provide the place for people to meet and ask questions or share their knowledge concerning the installation and operation of Apache, as well as helping them keep up to date with the latest technologies.

Please note that the Apache Haus is not affiliated with, or endorsed by, the Apache Software Foundation. The Apache HTTP Server, Apache, and the Apache feather logo are trademarks of The Apache Software Foundation.

Server powered by: Finetworks Ay

  • 由以上 Apache Haus 的申明可知, Apache HTTP Server 官方不提供二进制 (可执行) 的发行版, 所以我们只能选择一些贡献者编译完成的版本, 这里我们当然选择了 Apache Haus。

  • 在 Apache Haus 下载页面 (https://www.apachehaus.com/) 下载 Apache 2.4 Server Binaries (Windows 需要安装对应的 VC 环境)。

Apache Haus 配置 1 - httpd.conf

  • 设置 Apache 目录, 即 ServerRoot 选项, 将其改成你的 Apache 程序的文件夹。

    如果存在 Define SRVROOT “[ApachePath]”, 则修改此处的 [ApachePath]。

    如果只有 ServerRoot “[ApachePath]”, 则修改此处的 [ApachePath]。

    如果既存在 Define SRVROOT, 也存在 ServerRoot “${SRVROOT}”, 则只需要修改 Define SRVROOT “[ApachePath]” 中的 [ApachePath]。

    当然也可以直接修改 ServerRoot “[ApachePath]” 中的 [ApachePath], 只不过灵活性要差一些。

    修改示例:

    Define SRVROOT "D:\Program\Apache24"
    ServerRoot "${SRVROOT}"
    
  • 设置 Apache 服务监听的端口, 即 Listen 选项, 一般不修改, 使用默认 80, 在开启服务器前请保证 80 端口未被占用。

    修改示例:

    Listen 80
    
  • 设置 Apache 服务根目录, 即 DocumentRoot 选项, 是存放 .html 文件的目录, 用户输入 IP地址 + 端口号 (如: 12.34.56.78:80) 能够访问到的目录。

    请保证 DocumentRoot 所设置的目录存在, 否则服务器无法正常启动。

    同时也需要修改随后的 … XML标签中的路径属性, 保证其与服务器根目录相同。

    修改示例:

    DocumentRoot "D:\Program\Apache24\htdocs"
    <Directory "D:\Program\Apache24\htdocs">## Possible values for the Options directive are "None", "All",# or any combination of:#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named *explicitly* --- "Options All"# doesn't give it to you.## The Options directive is both complicated and important.  Please see# http://httpd.apache.org/docs/2.4/mod/core.html#options# for more information.#Options Indexes FollowSymLinks## AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:#   Options FileInfo AuthConfig Limit#AllowOverride None## Controls who can get stuff from this server.#Require all granted
    </Directory>
    
  • 设置 Apache 的 cgi-bin 路径, 即 ScriptAlias /cgi-bin/ 选项, 通常将其设置为 Apache 目录下的 cgi-bin 文件夹。

    需同时要找到随后的 … XML标签, 设置脚本目录, 需要将其设置为和前面的 ScriptAlias /cgi-bin/ 所指定的目录相同。

    修改示例:

    <IfModule alias_module>## Redirect: Allows you to tell clients about documents that used to # exist in your server's namespace, but do not anymore. The client # will make a new request for the document at its new location.# Example:# Redirect permanent /foo http://www.example.com/bar## Alias: Maps web paths into filesystem paths and is used to# access content that does not live under the DocumentRoot.# Example:# Alias /webpath /full/filesystem/path## If you include a trailing / on /webpath then the server will# require it to be present in the URL.  You will also likely# need to provide a <Directory> section to allow access to# the filesystem path.## ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that# documents in the target directory are treated as applications and# run by the server when requested rather than as documents sent to the# client.  The same rules about trailing "/" apply to ScriptAlias# directives as to Alias.#ScriptAlias /cgi-bin/ "D:\Program\Apache24\cgi-bin\"</IfModule><IfModule cgid_module>## ScriptSock: On threaded servers, designate the path to the UNIX# socket used to communicate with the CGI daemon of mod_cgid.##Scriptsock logs/cgisock
    </IfModule>#
    # "${SRVROOT}/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    #
    <Directory "D:\Program\Apache24\cgi-bin">AllowOverride NoneOptions NoneRequire all granted
    </Directory>
    

Apache Haus 配置 2 - 尝试启动 Apache 服务

  • 配置环境变量: 右键点击 “计算机” -> 属性 -> 高级系统设置 -> 环境变量 -> 编辑 Path -> 新建 -> 添加 “D:\Program\Apache24\bin” 路径

  • 测试环境变量: Win 键 + r 打开 “运行” -> 输入 cmd 打开 Windows 终端 -> 输入 httpd -v 显示 Apache 版本号

  • (如果之前安装并使用过 Nginx, 需要先清除浏览器缓存)

  • 安装 Apache 服务: 以管理员的身份再次打开 Windows 终端, 输入 httpd -k install 安装 Apache 服务 (未安装 Apache 服务可能无法启动 Apache 服务)。

  • 启动 Apache 服务 (方式 1): 打开 Windows 终端, 输入 httpd -k start 启动 Apache 服务。

  • 启动 Apache 服务 (方式 2): 打开 D:\Program\Apache24\bin 目录下的 ApacheMonitor.exe, 点击右边的 start 启动 Apache 服务。

    Windows 系统下 Apache 24.x 常见命令:

    httpd -k install      安装 Apache 服务
    httpd -k uninstall    移除 Apache 服务httpd -k start        启动 Apache 服务
    httpd -k restart      重启 Apache 服务
    httpd -k stop         关闭已安装的 Apache 服务httpd -v              查看 Apache 版本
    httpd -t              查看 Apache 配置文件状态
    
  • 错误处理: (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address [::]:443

    意思就是 443 端口号被占用了

    修改 1: 将 D:\Program\Apache24\conf\extra 中 httpd-ahssl.conf 的 Listen 443 https 修改为 Listen 442 https 或 Listen 444 https

    修改 2: 将 D:\Program\Apache24\conf\extra 中 httpd-ssl.conf 的 Listen 443 修改为 Listen 442 或 Listen 444

  • 错误处理: Windows不能在本地计算机启动Apache2.2。有关更多信息,查阅系统日志文件。如果这是非Microsoft服务,请与厂商联系,并参考特定服务器错误代码1。

    右键点击 “计算机” -> 事件查看器 -> Windows 日志 -> 应用程序 -> 查看对应时间出错的应用其 “常规” 或 “详细信息” 中的信息

    错误日志 1:The Apache service nnamed reported the following error:
    >>> Syntax error on line 133 of C:/Users/xyb-C308/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/extra/httpd-ahssl.conf:.错误日志 2:The Apache service nnamed reported the following error:
    >>> SSLCertificateFile 'C:/Apache22/conf/ssl/server.crt' dose not exist or is empty.
    

    这是由于 SSL 配置不正确所产生的, 以下是解决办法。

    打开 D:\Program\Apache22\conf\extra\httpd-ahssl.conf 文件, 配置 VirtualHost 选项。

    注意: 可能不止一处名为 VirtualHost 的选项, 均需修改。

    将其中的 SSLCertificateFile 改为 D:/Program/Apache22/conf/ssl/server.crt

    将其中的 SSLCertificateKeyFile 改为 D:/Program/Apache22/conf/ssl/server.key

    将其中的 DocumentRoot 改为你的服务器根目录。

    ##
    ## SSL Virtual Host Context
    ##<VirtualHost _default_:443>SSLEngine onServerName localhost:443SSLCertificateFile "D:/Program/Apache22/conf/ssl/server.crt"SSLCertificateKeyFile "D:/Program/Apache22/conf/ssl/server.key"DocumentRoot "D:/Program/Apache22/htdocs"
    # DocumentRoot access handled globally in httpd.confCustomLog "${SRVROOT}/logs/ssl_request.log" \"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"<Directory "${SRVROOT}/htdocs">Options Indexes Includes FollowSymLinksAllowOverride AuthConfig Limit FileInfoRequire all granted</Directory>
    </virtualhost>
    

    将其中的 CustomLog 改为 D:/Program/Apache22/logs/ssl_request.log, 这个不改的话也会错, 通常会出现如下错误:

    错误日志:
    Apache2.2 服务由于下列服务特定错误而终止:
    函数不正确。
    

    这样, 错误就算处理完了, 如果还有问题, 可能还需配置 D:\Program\Apache22\conf\extra\httpd-ssl.conf, 配置方法和配置 httpd-ahssl.conf 的 VirtualHost 的相似。

Apache Haus 配置 3 - 启动 Apache 服务

  • 配置 Apache 服务 -> 安装 Apache 服务 -> 启动 Apache 服务

  • 整个流程下来没有错误, 或处理完所有错误后, 以后都按以下方式启动 Apache 服务即可。

    启动 Apache 服务 (方式 1): 打开 Windows 终端, 输入 httpd -k start 启动 Apache 服务。

    启动 Apache 服务 (方式 2): 打开 D:\Program\Apache24\bin 目录下的 ApacheMonitor.exe, 点击右边的 start 启动 Apache 服务。

  • 也可以显示启动过程中的日志, 便于分析错误。

    使用 httpd -w -n “Apache2” -k start 命令启动服务器

Apache Haus 配置 4 - 开机启动 Apache 服务

  • 右键点击 “计算机” -> 管理 -> 服务和应用程序 -> 服务 -> 找到 Apache2.4 -> 右键点击 “Apache2.4” -> 属性 -> 修改启动类型

    启动类型说明:

    自动: 开机自动启动

    手动: 每次手动启动

总结

以上就是关于 Windows运维 Windows下配置Apache-Haus(Apache2.4) 的全部内容。

更多内容可以访问我的代码仓库:

https://gitee.com/goufeng928/public

https://github.com/goufeng928/public

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/771276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VsCode安装,配置,快捷键及常用开发插件的安装与介绍

文章目录 一.安装包下载方式一.官网下载方式二.网盘下载 二.安装三.VSCode插件安装1.中文语言包2.拼写检察器3.HTML自动补全4.JavaScript-ES6语法提示5.补全前端代码6.路径提示7.Vue3/Vue2开发必用8.自动闭合HTML/XML标签9.标签同步修改10.格式化html,css,js11.区分括号12.快速…

Vue3更新Package.json版本号

由于我之前已经更新过了&#xff0c;下面的方法提示我已经是最新的了&#xff0c;记录一下&#xff0c;过段时间在测试一下 npm install -g vue/clivue upgrade

面试算法-113-打家劫舍

题目 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个房屋存放…

DHCP中继配置示例

DHCP&#xff0c;属于应用层的协议&#xff08;使用UDP协议封装&#xff0c;客户端端口&#xff1a;68&#xff0c;服务器端端口&#xff1a;67&#xff0c;中继端的端口&#xff1a;67&#xff09; 两种配置方式&#xff1a;1、接口配置&#xff1b;2、全局配置。 ipconfig …

Redis-指定配置启动

基础篇Redis 3.3.5.指定配置启动 如果要让Redis以后台方式启动&#xff0c;则必须修改Redis配置文件&#xff0c;就在我们之前解压的redis安装包下&#xff08;/usr/local/src/redis-6.2.6&#xff09;&#xff0c;名字叫redis.conf&#xff1a; 我们先将这个配置文件备份一份…

微信小程序版本更新检测

app.vue文件 <script>export default {onLaunch: function() {console.log(App Launch)// #ifdef MP-WEIXINthis.getUpdateManager();// #endif},methods: {// 检测小程序更新getUpdateManager() {const updateManager wx.getUpdateManager();updateManager.onCheckFor…

JS基础之 数据浅拷贝与深拷贝

一、拷贝背景 JS引用数据类型有两类&#xff1a;基本数据类型和引用数据类型&#xff1b; 基本类型&#xff1a;String&#xff0c;Number&#xff0c;Boolean&#xff0c;Null&#xff0c;Undefined&#xff0c;symbol这6种基本数据类型它们是直接按值存放的&#xff0c;所以…

Day21代码随想录(1刷) 二叉树

530. 二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 示例 1&#xff1a; 输入&#xff1a;root [4,2,6,1,3] 输出&#xff1a;1示例 2&#xff1…

微信小程序实现图片懒加载的4种方案

实现图片懒加载的意义 实现图片懒加载可以提高小程序的性能和用户体验&#xff0c;是微信小程序开发中非常重要的一项优化手段。微信小程序实现图片懒加载的目的主要有以下几点&#xff1a; 提高页面加载速度&#xff1a;图片通常是页面中最耗时的资源&#xff0c;如果一次性…

【Java项目】基于jspssm的高校二手交易平台

目录 背景 技术简介 系统简介 界面预览 背景 随着互联网技术的不断进步&#xff0c;高校二手交易市场通过网络平台得到了显著的扩展。开发这一平台时&#xff0c;首要任务是深入挖掘并满足用户的实际需求&#xff0c;通过精准把握用户需求来构建一个专门化的高校二手交易系…

Linux下的I/O模型

目录 一、什么是IO&#xff1f; 二、IO操作的两个阶段 三、五种I/O模型 1、阻塞I/O(blocking I/O) 2、非阻塞I/O(non-blocking I/O) 3、多路复用I/O(multiplexing I/O) 4、信号驱动I/O(signal-driven I/O) 5、异步I/O(asynchronous I/O) 四、五种I/O模型比较 一、什么…

3.25作业

定义自己的命名空间&#xff0c;其中有string类型的变量&#xff0c;再定义两个函数&#xff0c;一个函数完成字符串的输入&#xff0c;一个函数完成求字符串长度&#xff0c;再定义一个全局函数完成对该字符串的反转 #include <iostream>using namespace std;namespace…

Ansys Zemax | 在 MATLAB 或 Python 中使用 ZOS-API 进行光线追迹的批次处理

附件下载 联系工作人员获取附件 这篇文章会说明如何在 MATLAB 或 Python 中以 Zemax OpticStudio 应用程式介面 (ZOS-API)处理光线数据库(Ray Database, ZRD)档案&#xff0c;过程中我们将使用ZRDLoader.dll。本文提供了在 Matlab 中批次处理序列光线追迹(一般、归一化、偏振…

定制化区块链交易所开发:Dapp、DeFi和IDO的全方位解决方案

随着区块链技术的不断发展&#xff0c;区块链交易所已经成为数字资产交易的主要场所之一。然而&#xff0c;由于不同项目的需求和特点各不相同&#xff0c;通用的交易所往往无法满足所有的需求。因此&#xff0c;定制化区块链交易所的需求逐渐增加&#xff0c;以满足不同项目的…

搜维尔科技:「工业仿真」煤炭矿井模拟仿真救援项目实施

煤炭矿井模拟救援系统满足煤矿企业在紧急避险应急演练方面的实际需要&#xff0c;在不耽误井下正常生产的情况下&#xff0c;高效率、低成本地实现对本矿区入井人员进行避灾演练培训&#xff0c;并学会正确的避灾自救互救方法。并可在本系统中直观的看到人员定位系统、监控系统…

【JAVA】建立一个图书管理系统

在建立一个图书管理系统的时候我们首先需要构造一个书类 public class Book {private String name;private String author;private int price;private String type;private boolean isBorrwed;public Book(String name, String author, int price, String type) {this.name n…

【原创】RockyLinux9.3手动编译MySQL8.2.0源码,超详细!!

前言 MySQL安装如果使用rpm包安装实在过于麻烦&#xff0c;缺这缺那的&#xff0c;我就想能不能就源码包自己手动编译安装&#xff0c;编译完的包可以给其他服务器直接用&#xff0c;这样只需要麻烦一次&#xff0c;后面就方便了。至于为什么不用RockyLinux8.6版本&#xff0c…

在JS中对字符串指定位置插入字符串

封装方法 insertchar(oldStr, index, newStr) {return oldStr.slice(0, index) newStr oldStr.slice(index)}使用 insertchar(202403, 4, -)输出2024-03 例如&#xff1a;后台给返回的出生日期为 19921224 但是再次传台需要用-拼接的日期格式 insertchar(‘19921224’, 4, ‘…

Java虚拟机运行原理

在 Java 中新建一个类Test&#xff1a; class Test {int a; }在Main方法中创建两个 Test 对象&#xff0c;并给 a 赋不同的值。 写一个 exchange 方法&#xff0c;在方法中交换两个Test 对象&#xff0c;最后输出两个对象中 a 的值。 public class Main {public static void…

SaaS模式java智慧工地源码 有演示 AI视频智能分析解决工地安监需求

SaaS模式java智慧工地源码 AI视频智能分析解决工地安监需求 有演示 智慧工地系统充分利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术&#xff0c;以PC端&#xff0c;移动端&#xff0c;平板端三位一体的管控方式为企业现场工程管理提供了先进的技术手段。让劳…