HHVM с Nginx fastcgi не работает должным образом

Я хотел бы использовать HHVM через Nginx. (Убунту 12.04.2 LTS, PHP 5.3.10)

Я выполнил шаги, упомянутые здесь:
http://www.hhvm.com/blog/1817/fastercgi-with-hhvm

Вот как выглядит моя установка Nginx:

server {
        listen  80;
        server_name demo1.dev
        server_name_in_redirect off;
        root /var/www/demo1;
        location / {
                index index.php;
                try_files $uri $uri/ @handler;
                expires 30d;
        }
        location @handler {
                rewrite / /index.php;
        }
        location ~ .php$ {
                fastcgi_keep_conn on;
                if (!-e $request_filename) { rewrite / /index.php last; }
                expires        off;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_param PHP_VALUE "error_log=/var/report/PHP.error.log";
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires 1y;
                log_not_found off;
        }
}

У меня есть файл с именем hhvm.php, который содержит это:

function is_hhvm() {
    return defined('HHVM_VERSION');
}

if (is_hhvm()) {
    echo "HHVM is working\n";
} else {
    echo "HHVM is not working\n";
}

Что я делаю неправильно и как проверить, правильно ли работает HHVM?

ОБНОВЛЕНИЕ: вывод: ps auxf | grep hhvm

root     15164  0.0  0.0   9360   660 pts/0    S+   13:55   0:00                          \_ grep --color=auto hhvm
www-data 15142  4.2  6.3 576564 122484 ?       Ss   13:54   0:01 /usr/bin/hhvm --config /etc/hhvm/server.hdf --user www-data --mode daemon
www-data 15154  7.0  6.3 580668 122636 ?       Ss   13:54   0:01 /usr/bin/hhvm --config /etc/hhvm/server.hdf --user www-data --mode daemon -vServer.Type=fastcgi -vServer.Port=9000 -vPidFile=/var/run/hhvm/hhvm-fastcgi.pid

person Bob van Luijt    schedule 06.01.2014    source источник
comment
Похоже, у меня была похожая проблема, но оказалось, что она не имеет ничего общего с nginx stackoverflow.com/questions/21036910/   -  person Dylan Madisetti    schedule 10.01.2014


Ответы (2)


Все выглядит правильно. Можете ли вы попробовать использовать php-fpm с точно такой же конфигурацией ngingx и посмотреть, работает ли она? Возможно, у вас есть проблема с правами доступа к каталогу или что-то в этом роде. Также убедитесь, что вы действительно запускаете процесс hhvm-fastcgi, используя /etc/init.d/hhvm-fastcgi start, и что до запуска ничего не прослушивалось на порту 9000. Вы можете запустить ps auxf | grep hhvm, чтобы убедиться, что он работает и слушает.

person Paul Tarjan    schedule 07.01.2014
comment
Спасибо за ваш четкий ответ. Но я не уверен, как читать ps auxf . Хотя HHVM там (см. обновление в исходном посте) - person Bob van Luijt; 07.01.2014
comment
У меня есть идея, что что-то еще прослушивает порт 9000, могу ли я изменить это? - person Bob van Luijt; 07.01.2014
comment
Да, вы можете изменить 9000 на что угодно. Обязательно измените конфигурацию ngingx, а также измените /etc/init.d/hhvm-fastcgi. - person Paul Tarjan; 07.01.2014
comment
Ах, спасибо, но как я могу увидеть, на каком порту он работает в данный момент? - person Bob van Luijt; 08.01.2014
comment
Ваш ps говорит, что он на порту 9000 - person Paul Tarjan; 09.01.2014
comment
Бам! В00т! изменил его на порт 9999, установил его в конфигурации nginx и готово... (супер спасибо!) - person Bob van Luijt; 10.01.2014

У вас установлен и работает PHP5-FPM на вашем сервере до HHVM?

Если да, то вам нужно остановить PHP5-FPM с помощью команды

service php5-fpm stop

Затем запустите/перезапустите HHVM

service hhvm restart

Если вы создали hhvm.php в корне вашего веб-сервера, то просмотр этого файла с помощью любого браузера должен показать, что HHVM работает.

Также вы можете использовать FETCH с Google, чтобы увидеть заголовок вашей страницы. Заголовок будет содержать HHVM, если он сгенерирован с использованием HHVM.

Вы можете прочитать https://udinra.com/blog/hhvm-fastcgi-nginx-speedup-php для получения более подробной информации о настройке HHVM и устранении неполадок.

person Esha Upadhyay    schedule 16.09.2014