是否有可能以编程方式控制Windows上的Apache httpd?

时间:2013-09-20 12:48:15

标签: python windows apache2

我想(最好使用Python)以编程方式控制Windows上的Apache httpd。也就是说,停止并启动服务,理想情况下添加/删除/停止/启动各个站点。

我没有找到任何现有的库来执行此操作。这是一种荒谬的努力(如果是这样,为什么)?

或者,是否可以从命令行执行此操作,因此只需在程序中进行适当的命令行调用即可?

1 个答案:

答案 0 :(得分:2)

许多图书馆已经实施了启动和停止服务,例如见:

http://www.icodeguru.com/WebServer/Python-Programming-on-Win32/ch18.htm

控制各个网站(VirtualHosts)在很大程度上取决于配置文件布局。 例如,在Debian上,已经设计了一个特定的目录结构(/etc/apache2/sites-available/etc/apache2/sites-enabled ...),并且特定的脚本控制文件副本到“enabled”目录(a2ensite,{{ 1}})。

默认的Windows Apache发行版中不存在此类布局,因此您需要复制它并创建相应的脚本或api。这是我推荐的解决方案。

另一种方法是直接解析apache配置并根据需要注释掉特定部分,但这是有风险的,因为编辑这些文件时的任何错误都可能使apache无法重新启动。