Назад | Перейти на главную страницу

Обратный прокси nginx для apache: php не работает

Я пытаюсь сделать обратный прокси с nginx на apache на моем сервере Ubuntu 10.04. Сейчас он отлично работает с файлами HTML ... запросы отправляются непосредственно в apache. Но всякий раз, когда я посещаю файл PHP, я вижу nginx 502 bad gateway ошибка. Я предполагаю, что это означает, что есть проблема с конфигурацией PHP apache.

Вот сообщение, которое я получаю из журнала ошибок nginx:

2012/01/02 09:48:06 [error] 27834#0: *2445 upstream prematurely closed connection
while reading response header from upstream, client: myIP,
server: mydomainname, request: "GET /phpsite/ HTTP/1.1",
upstream: "http://127.0.0.1:8090/phpsite/", host: "mydomainname"

Я уже пробовал использовать несколько гиды установить PHP на apache несколько раз; ничего не решает ошибку.

Моя конфигурация nginx / apache неверна? Если да, как мне добавить к нему PHP?

Изменить: я исправил! Судя по всему, PHP установил два плагина для кеширования (apc и XCache), которые мешали друг другу. В файле журнала php я узнал об этом:

PHP Warning:  Cannot load module 'XCache' because conflicting module 'apc' is already loaded in Unknown on line 0

Я удалил apc и перезапустил apache. Теперь работает нормально.

Вы можете попробовать получить доступ к сайту PHP на apache напрямую, не используя nginx.

Чтобы включить PHP на вашем apache, вам необходимо установить модуль PHP libapach2-mod-php5. Если вам будет предложено сохранить файл PHP, вам необходимо убедиться, что у вас есть строка, подобная этой, в вашей конфигурации apache:

AddType application/x-httpd-php .php

Не забудьте перезагрузить / перезапустить сервер Apache после изменения конфигурации.