系统:
我正在努力在 Windows 计算机上使用 Python 获取 Apache 服务器,并且我已正确配置服务器,以便让
mod_wsig 文档中的
Hello World!
示例正常工作。
如果我只是启动
C:\Apache24\bin\httpd.exe
,这会起作用,我会在 http://localhost:5000/ 看到 Hello World
然后我想让它作为服务运行,所以我打电话
httpd.exe -k install
在 ApacheMonitor 中,我启动了新的 Apache2.4 服务,但出现启动失败错误。在 Windows 系统事件日志中,它显示
Event ID: 7024
以及特定于服务的错误:Incorrect function
。
当我跑步时
httpd.exe -k start -n "Apache2.4" -t
它说 Syntax OK
我找不到有关服务错误的更多信息。
error.log
文件中没有任何内容,我不知道还能在哪里查看,我正在询问有关如何诊断此问题的更多信息。
在我开始配置Apache使用mod_wsgi之前,启动服务是成功的,所以在这样做之后就发生了这种情况,此时我还没有配置任何其他内容。
转到命令提示符,移至 apache/bin 文件夹并输入
>httpd -t
这将为您提供有关阻止 Apache 启动的错误的更多信息。
更新 httpd.conf 文件后,我收到此错误。问题是我在 httpd.conf 中的最终 xml 标记未关闭 .
这几天我面临着同样的情况,Windows 10,apache24,django应用程序,python3.8,无法作为服务启动,服务事件显示错误7024...
所以,经过大量的努力和研究,我想添加我的解决方案,即使这是一个老问题。
解决方案是添加两个环境变量,不在httpd.conf中,不在python代码/conf中,而是在SO级别(windows>环境变量)
PYTHONHOME = c:\your\path o\installed\python
PYTHONPATH = c:\your\安装的irtualenv的路径
还有魔法! apache 现在作为服务工作,并且 django 应用程序始终在本地主机上可用
我遇到了与OP相同的错误,并且遇到了相同的挑战,即即使使用最详细的日志记录,也没有任何东西表明问题。
我掌握的两条信息:
从命令行运行
httpd.exe
时,一切正常。
尝试从服务调用
httpd.exe
时,启动失败。
因此,我凭直觉将服务重新配置为不以
LocalSystem
身份登录,而是以我的 NT 用户帐户(已启用“作为服务登录”设置)登录。经过此更改,服务正常启动。
目前我还没有进一步排除故障。 (我已经排除了文件访问权限的问题,因为涉及的所有文件路径都设置为为每个人提供完整的权限。)但无论如何,这是一个简单且易于尝试的修复。