Хобрук: Ваш путь к мастерству в программировании

не удалось заставить hhvm работать с nginx

У меня установлены и работают nginx и hhvm как процессы на виртуальной машине Ubuntu. Конфиги скопированы ниже. У меня есть файл index.php в /usr/share/nginx/html (на который указывает nginx), но когда я пытаюсь получить доступ к сайту, обслуживаемому nginx, я получаю следующую ошибку о hhvm:

/var/log/nginx/error.log

2016/10/04 12:03:05 [crit] 12443#0: *1 connect() to unix:/var/run/hhvm/hhvm.sock failed (2: No such file or directory) while connecting to upstr
eam, client: xx.xxx.xxx.xxx, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/hhvm/hhvm.sock:", host: "xx.xx.xx.xx"

Конфигурация Nginx (часть конфигурации)

server {

    listen 80 default_server;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;       

    location / {
        index index.php;
        try_files $uri $uri/ $uri/index.php$args /index.php$args;
    }

    location /mysql {
        index index.php;
    }

    location ~* \.(php)$ {
        try_files $uri = 404;
        location ~ \..*/.*\.php$ {return 404;}
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_keep_conn on;
        fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

Я проверил - оба процесса nginx и hhvm запущены. Любые мысли о том, как устранить эту проблему дальше?

Обновление: я изменил файл server.ini в /etc/hhvm на следующий и перезапустил службу, но, похоже, она не выполнила свою работу.

hhvm.server.file.socket=/var/run/hhvm/hhvm.sock

Я закомментировал ранее использовавшийся порт 9000.

Обновление: после изменения server.init и перезапуска hhvm я получаю следующую ошибку в /var/log/hhvm/error.log:

Unable to read pid file /var/run/hhvm/pid for any meaningful pid
Unable to read pid file /var/run/hhvm/pid for any meaningful pid
Unable to read pid file /var/run/hhvm/pid for any meaningful pid
Unable to read pid file /var/run/hhvm/pid for any meaningful pid
Unable to read pid file /var/run/hhvm/pid for any meaningful pid
Unable to start page server
Shutting down due to failure(s) to bind in HttpServer::runAndExitProcess

Каталог /var/run/hhvm принадлежит www-data

04.10.2016

  • Вы уверены, что hhvm запущен и файл сокета настроен правильно (/etc/hhvm/server.ini или подобные файлы могут быть полезны для диагностики фактической проблемы). Просто прочитайте документы hhvm здесь 04.10.2016
  • Лучше спросить об этом при ошибке сервера. 04.10.2016

Ответы:


1

В итоге я запустил hhvm на порту 9000 и указал nginx (fasgcgi_pas), чтобы он указывал на порт (вместо использования опции файлового сокета).

04.10.2016
  • Когда я прочитал ваш ответ, я понял, что hhvm настроен на использование 9000, но другое приложение уже использовало его. Поэтому я перешел на 9009, и это сработало. Спасибо! 13.06.2017
  • Новые материалы

    7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
    Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

    Базовое руководство по переносу концепций обучения в глубокое обучение
    Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

    C в C.R.U.D с использованием React-Redux
    Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

    5 обязательных элементов современного инструмента конвейера данных
    В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..

    Случай использования npm3 вместо npm2 для разработки библиотеки
    Некоторое время назад я создал библиотеку на NodeJS, чтобы упростить рендеринг на стороне сервера и клиента. Он использует React и React Router для отображения соответствующего HTML на веб-сайте...

    Локаджит, спасибо, что поделились этой точкой зрения.
    Локаджит, спасибо, что поделились этой точкой зрения. «Вы становитесь сильными, поднимая других, а не опуская их». Мы все можем извлечь уроки из этой цитаты.

    Как простая библиотека может повысить производительность вашего приложения React
    Знакомство с Million.js Виртуальный DOM React не такой быстрый. Но мы не можем обойти это. Если мы хотим React, нам нужно его придерживаться, верно? Нет, есть альтернатива. Million —..