次の構文を使用して、コマンド ラインで 1 つのディレクティブを指定できることはわかっています。
httpd -c "DocumentRoot ."
しかし、他のオプションも指定したい場合はどうすればよいでしょうか? これは可能ですか?
-p、-d などの静的スイッチがあることは知っていますが、実際には conf ファイルなしで http デーモンを起動したいので、コマンド自体ですべての構成を指定できる機能が必要です。
なぜこれを好むのかは質問しないでください。それは質問の範囲を超えています。私は、1 つのコマンドをコピーして貼り付けることで、多数のデーモンを起動したいだけです。ヒア ドキュメントを試しましたが、もっと直接的な方法があることを期待しています。また、lighttpd のような別のバイナリも使いたくありません。最新バージョンの Apache の業界標準機能が欲しいのです。
編集- これを試してみましたが、まだポート 80 を使用しようとしています:
httpd -c "DocumentRoot ." -c 'Listen 7000'
答え1
Apache の古いバージョンでは、Mac OS Lion の httpd のように複数の '-c' オプションをサポートしていないようです。ただし、Ubuntu 12.04 では問題ありません。
apache2 \
-f /dev/null \
-C "DocumentRoot $PWD" \
-C 'Listen 7000' \
-C 'PidFile /tmp/pidfile' \
-C 'ErrorLog /dev/stdout' \
-D FOREGROUND