#php #nginx #hhvm
#php #nginx #hhvm
Вопрос:
У меня установлены 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
Комментарии:
1. Вы уверены, что hhvm запущен, и файл сокета настроен правильно (
/etc/hhvm/server.ini
или похожие файлы могут быть полезны для диагностики реальной проблемы). Просто прочитайте документы hhvm здесь2. Это может быть лучше спросить об ошибке сервера
Ответ №1:
В итоге я запустил hhvm на порту 9000 и указал nginx (fasgcgi_pas), чтобы указать на порт (вместо использования опции сокета файла).
Комментарии:
1. Когда я прочитал ваш ответ, я понял, что hhvm был настроен на использование 9000, но другое приложение уже использовало его. Поэтому я изменил на 9009, и это сработало. Спасибо!