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

Не удается заставить apache работать после установки nginx и hhvm

У меня был Apache2, работающий на моем локальном компьютере с Ubuntu, и я установил nginx и hhvm на моем локальном компьютере для целей отладки, выполнив следующие действия. этот учебник.

Теперь я хотел бы вернуться к Apache2, как и раньше, раньше у меня были и Apache, и NGINX с запущенными PHP5-FPM, и я мог переключаться между ними, запустив:

sudo service nginx stop
sudo service apache2 restart

Теперь, когда я пытаюсь это сделать, я получаю следующую ошибку, когда пытаюсь получить доступ к моему приложению Magento.

/var/www/app/Mage.php was not found

Однако я могу увидеть страницу Ubuntu Apache по умолчанию, когда захожу в http: // localhost /

Я пробовал бежать

~:$ sudo service nginx stop
~:$ sudo service hhvm stop
~:$ sudo service apache2 restart 
 * Restarting web server apache2                                                               [ OK ] 
~:$ sudo service php5-fpm restart 
stop: Unknown instance: 
php5-fpm start/running, process 12258
~:$ sudo service php5-fpm restart 
php5-fpm stop/waiting
php5-fpm start/running, process 12281

И теперь я получаю ошибку 503 service unavailable, когда пытаюсь получить доступ к моему приложению Magento в браузере. Я знаю, что в Magento эта ошибка может быть вызвана файлом maintenance.flag в корневом каталоге Magento, но здесь это не так.

В моем журнале ошибок Apache говорится:

[Sat Jun 27 11:11:07.902430 2015] [proxy:error] [pid 12223] (111)Connection refused: AH00957: FCGI: attempt to connect to 127.0.0.1:9000 (*) failed
[Sat Jun 27 11:11:07.902490 2015] [proxy_fcgi:error] [pid 12223] [client 127.0.0.1:39494] AH01079: failed to make connection to backend: 127.0.0.1[Sat Jun 27 11:11:07.902430 2015] [proxy:error] [pid 12223] (111)Connection refused: AH00957: FCGI: attempt to connect to 127.0.0.1:9000 (*) failed
[Sat Jun 27 11:11:07.902490 2015] [proxy_fcgi:error] [pid 12223] [client 127.0.0.1:39494] AH01079: failed to make connection to backend: 127.0.0.1

Когда я установил HHVM, я запустил его скрипт install_fastcgi.sh. Может быть, это причина проблемы.

Любая идея о том, как я могу переключаться между NGINX на Apache и не использовать HHVM на моем локальном компьютере.


ОБНОВИТЬ

Я попробовал решение @mboehn ниже, и теперь я получаю исходную ошибку в браузере, когда перехожу по URL-адресу своего приложения Magento.

Это следует искать в /var/www/magento/app/ для Mage.php. И index.php в /var/www/magento/. Начало index.php:

/**
 * Compilation includes configuration file
 */
define('MAGENTO_ROOT', getcwd());

$compilerConfig = MAGENTO_ROOT . '/includes/config.php';
if (file_exists($compilerConfig)) {
    include $compilerConfig;
}

$mageFilename = MAGENTO_ROOT . '/app/Mage.php';

Но именно так обычно работают приложения Magento, и я не внес здесь никаких изменений. Просто установил HHVM и остановил его, чтобы вернуться к моей предыдущей конфигурации Apache.

Нет ничего в /var/log/apache2/error.log.

У меня есть:

<VirtualHost *:80>
DocumentRoot /var/www/magento
ServerName http://dev.magento.local
DirectoryIndex index.php
<Directory /var/www/magento>
AllowOverride All
Allow from All
SetEnv MAGE_IS_DEVELOPER_MODE true
</Directory>
</VirtualHost>

2-е обновление

Итак, в папке был index.php. /var/www/ Путь, который сбивал меня с толку, это была просто копия того, над чем я работал много лет назад, что раньше не вызывало проблем.

После его удаления я получаю в браузере следующее сообщение.

Файл не найден.

И теперь в моем журнале ошибок apache говорится [Sat Jun 27 12:33:58.382270 2015] [proxy_fcgi:error] [pid 16003] [client 127.0.0.1:40412] AH01071: Got error 'Primary script unknown\n'

У вас может быть php5-fpm, прослушивающий сокет unix (например, /var/run/php5-fpm.sock, а Apache пытается подключиться к 127.0.0.1:9000.

Проверить listen-directive в вашей конфигурации php5-fpm (я предполагаю /etc/php5/fpm/pool.d/www.conf). А затем либо настройте Apache для использования сокета unix, либо перенастройте и php5-fpm, и nginx для использования сетевых сокетов (порт)

  • Сделайте так, чтобы php5-fpm использовал порт 9000:
    • В /etc/php5/fpm/pool.d/www.confзаменить listen = /var/run/php5-fpm.sock с участием listen = 127.0.0.1
  • Apache уже использует порт 9000
  • Сделайте так, чтобы ngnix использовал порт 9000:
    • В /etc/nginx/sites-available/default (это файл по умолчанию, возможно, вы используете другой файл в том же каталоге), замените fastcgi_pass unix:/var/run/php5-fpm.sock; с участием fastcgi_pass 127.0.0.1:9000;

Решил :)

Когда я установил HHVM, я запустил приведенный ниже сценарий оболочки, который установил HHVM и изменил некоторые конфигурации.

sudo /usr/share/hhvm/install_fastcgi.sh

Я не совсем уверен, что это произошло, но я почти уверен, что это было причиной проблемы, поскольку, когда я запустил приведенный ниже сценарий удаления, который также поставляется с HHVM, он все исправил, и теперь Apache также работает.

$ sudo /usr/share/hhvm/uninstall_fastcgi.sh