Mik*_*ord 4 windows apache-http-server home-networking http
我很困惑,我无法在任何地方找到答案。
我的笔记本电脑上安装了 Apache 2.2 for Windows。这使得服务器端包含在我在我的网站上工作时能够运行 - 即使我没有连接到互联网。
这曾经有效:
http://example.brak
Run Code Online (Sandbox Code Playgroud)
但是当我添加一个新域时,我完全破坏了一些东西。
我使用 hosts 文件来解析“.brak”域上主机的 IP 地址
127.0.0.1 example.brak
Run Code Online (Sandbox Code Playgroud)
每个 *.brak 主机都会回答 ping。
每个盒子都有自己的 TLD,使我能够从我公寓的任何盒子访问我的每个本地站点。
这应该在 Cygwin 中工作:
$ /cygdrive/c/Apache22/bin/httpd -k start -n Apache2.2
Run Code Online (Sandbox Code Playgroud)
或者在命令提示符中:
c:\> \Apache22\bin\httpd -k start -n Apache2.2
Run Code Online (Sandbox Code Playgroud)
(必须使用httpd -k install将 httpd 设置为 Windows 服务。)
任务管理器显示服务启动但很快停止。
当然,这是我取消配置的结果,但 httpd 退出时除了错误状态 1 之外没有任何消息。
要查找上一个命令的状态:
c:\> dir
c:\> echo %errorlevel%
0
Run Code Online (Sandbox Code Playgroud)
我永远欠你的债。
apachectl configtest在 Apache for Windows 上的等价物是什么?
根据apachectl的当前Apache 2.4 文档,configtest相当于httpd -t。作为参考,httpd -t您可以:
仅对配置文件运行语法测试。程序在这些语法解析测试后立即退出,返回代码为 0(语法正常)或返回代码不等于 0(语法错误)。如果还设置了 -D DUMP_VHOSTS,则将打印虚拟主机配置的详细信息。如果设置了 -D DUMP_MODULES,则将打印所有加载的模块。
httpd.conf和任何虚拟主机文件的配置错误通常也会通过手动的非服务管理器服务启动 ( httpd -k start)来捕获,例如。
在尝试之前,您需要停止任何正在运行的 Apache 服务httpd -k start(httpd -t应该没有这样的要求)。
请注意,虽然问题与 Apache 2.2 有关,但 2.2版本之间的通用文档apachectl configtest并httpd -t没有改变。和 2.4。
我的笔记本电脑上安装了 Apache 2.2 for Windows。
在撰写本文时,Apache 2.2 正式结束生命周期。截至 2018 年 1 月 1 日:
Apache HTTP Server 项目已停止对 2.2.x 系列发行版的所有开发和补丁审查 [...],并且不会针对 2.2.x 发行版发布进一步的安全风险评估。
如果您没有令人信服的理由坚持使用 2.2 版(例如,它供个人使用并且您不需要一些专门的模块等),您可能需要认真考虑升级。
我会推荐来自 Apache Lounge的本机(非 Cygwin)Windows 构建。它们通常与最新的官方 Apache Foundation 版本保持同步(或紧随其后),并且有大量常见的可选模块可供选择。
(仅供参考,从 2.2 版升级到 2.4 版将需要在您的配置文件中进行一些小的语法更改,但没什么大不了的)。
| 归档时间: |
|
| 查看次数: |
6908 次 |
| 最近记录: |