「MPMが読み込まれていません」が、mpmも使用していない


10

VagrantのUbuntu Precise64でApache2を実行します。私がそれを始めようとすると、それは言います:

vagrant@precise64:/etc/apache2$ /etc/init.d/apache2 start
 * Starting web server apache2
 *
 * The apache2 configtest failed.
Output of config test was:
AH00534: apache2: Configuration error: No MPM loaded.
Action 'configtest' failed.
The Apache error log may have more information.

しかし、問題は、私の/etc/apache2/apache2.confファイルはどこにもMPMを必要としないことです!ここに貼り付けますが、巨大な投稿になります...

エラーログを調べてみましたが、どこにも見つかりませんでした。助けて?

編集: apache2 -lこれを与える:

vagrant@precise64:/$ apache2 -l  
Compiled in modules:             
  core.c                         
  mod_so.c                       
  mod_watchdog.c                 
  http_core.c                    
  mod_log_config.c               
  mod_logio.c                    
  mod_version.c                  
  mod_unixd.c                    
  mod_unixd.c                    

だから、mpmがインストールされていないようですよね?MPMがインストールされておらず、構成ファイルにMPMが記載されていない場合、なぜこのエラーが引き続き表示されるのですか?


1
dpkg -l 'apache2-mpm *'の出力は何ですか
sciurus

私にとっては、犯人が何であれ、古い構成ファイルをパージ、再インストール、およびコピーするだけで十分でした;)
Melissa Loos

回答:


10

apache2 -t -D DUMP_MODULES(または-M)を実行すると、モジュールのリストが表示されます。worker.cまたはprefork.cまたはevent.cが表示されます。これを使用して、使用しているMPMを判別します。

(prefork MPMを使用している場合など)何かがある場合は、構成ファイルを調べてください。

次に例を示します。

<IfModule mpm_prefork_module>
StartServers          5
MinSpareServers       5
MaxSpareServers      10
MaxClients          150
MaxRequestsPerChild   0
</IfModule>

このようなブロックを設定ファイルに追加すると、機能するはずです。apache2-mpm-prefork(またはワーカー、イベント)が正しくインストールされていることを確認します。

このドキュメントを読んで、使用に適したMPM(必須)を選択してください。http//httpd.apache.org/docs/2.2/mpm.html


元の質問をコマンド出力で更新しました... mpmモデルがまったくないようです。そのため、エラーが表示される理由がわかりません。何か案が?
ezuk 2013年

1
MPMモジュールを選択する必要があります。これは必須です。
ビンツ2013年

@Vinzさん、こんにちは。私は実際に同じ問題(Ubuntu 13.10、Apache 2.4.6)を抱えており、あなたの解決策を試しました。設定ファイルにそのブロックがありませんでしたが、追加しても問題は解決しませんでした。他のアイデアは?ここでちょっと迷ってしまいました。
Itai Bar-Haim 2013年

@ ItaiBar-Haim:このブロックを追加した後のエラーメッセージは何ですか?
Vinz 2013年

@ヴィンツそれは同じエラーでした。しかし、私はデフォルトのApache構成を使用し、それを無効にしようとしないと、何かが機能しているように見えることを発見しました。
Itai Bar-Haim

10

同じ問題がありました。誤って上書きしました/etc/apache2/apache2.conf。修正するには、実行sudo apt-get purge apache2してapacheを完全に削除してから、実行sudo apt-get install apache2して元のapache2.confファイルを復元する必要がありました。

:削除する/etc/apache2/sites-available前に、カスタムファイルをバックアップしてください。


Vagrantの実行に関しても同様の問題があり、apache2.confのすべてのコンテンツを誤って消去してしまったことがわかりました。ただし、元に戻すのは少し簡単ですvagrant destroy && vagrant up
forsvunnet
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.