apache2 / httpd 中通过命令行执行多个指令?

apache2 / httpd 中通过命令行执行多个指令?

我知道您可以使用以下语法在命令行中指定一个指令:

httpd -c "DocumentRoot ." 

但是如果我还想指定其他选项怎么办?这可能吗?

我知道有静态开关如 -p、-d 等,但我真的想启动一个没有任何配置文件的 http 守护进程,所以希望能够在命令本身中指定所有配置。

不要问我为什么喜欢这个,这超出了问题的范围。我只想通过复制和粘贴单个命令来启动一堆守护进程。我尝试使用此处的文档,但我希望有更直接的方法。我也不想使用像 lighttpd 这样的不同二进制文件。我想要最新版本 Apache 的行业标准功能。

编辑- 我尝试了这个但它仍然尝试使用端口 80:

httpd     -c "DocumentRoot ."     -c 'Listen 7000' 

答案1

似乎旧版本的 Apache 不支持多个“-c”选项 - 例如 Mac OS Lion 上的 httpd。但在 Ubuntu 12.04 上没问题:

apache2 \
    -f /dev/null \
    -C "DocumentRoot $PWD" \
    -C 'Listen 7000' \
    -C 'PidFile /tmp/pidfile' \
    -C 'ErrorLog /dev/stdout' \
    -D FOREGROUND

致谢:https://gist.github.com/thwarted/7672130

相关内容