我在我的本地ubuntu机器上运行了Apache2,并在本地安装了nginx&hhvm,以便进行debugging。
我现在想像以前那样切换回Apache2,之前我已经运行了PHP5-FPM的Apache&NGINX,并且可以通过运行下面的代码来切换它们:
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
而现在,当我尝试在浏览器中访问我的Magento应用程序时,出现503服务不可用错误。 我知道在Magento中,这个错误可能是由Magento根目录下的maintenance.flag文件引起的,但这里不是这种情况。
我的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解决scheme,现在当我导航到我的Magento应用程序URL时,我在浏览器中得到了原始错误

这应该是在/var/www/magento/app/ for 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,并停止它恢复到我以前的Apacheconfiguration。
/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>
好的,在/var/www/path中有一个index.php文件,这个文件只是我以前一直在做的事情的一个拷贝,以前没有造成任何问题。
删除之后,我在浏览器中看到了下面的消息。
文件未find。
现在在我的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。
检查您的php5-fpmconfiguration中的listen -directive(我在猜测/etc/php5/fpm/pool.d/www.conf )。 然后configurationApache使用unix套接字或重新configurationphp5-fpm和nginx使用networking套接字(端口)
/etc/php5/fpm/pool.d/www.conf ,用listen = 127.0.0.1replacelisten = /var/run/php5-fpm.sock /etc/nginx/sites-available/default (这是默认文件,你可能在同一目录下使用另一个文件),replacefastcgi_pass unix:/var/run/php5-fpm.sock; 用fastcgi_pass 127.0.0.1:9000; 解决了:)
当我安装HHVM时,我运行了下面的shell脚本,它设置了HHVM并更改了一些configuration。
sudo /usr/share/hhvm/install_fastcgi.sh
我不确定这到底是什么,但我几乎可以肯定,这是什么引起的问题,因为当我运行下面的卸载脚本,它也随着HHVM它修复了一切,现在Apache的作品也。
$ sudo /usr/share/hhvm/uninstall_fastcgi.sh