На моем веб-сервере nginx в файле error.log много строк, подобных этой:
2017/12/30 20:30:00 [error] 5620#5620: *21 connect() to unix:/var/run/hhvm/hhvm.sock failed
(111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx,
server: beauchamp.me, request: "GET /test.php HTTP/1.1", upstream:
"fastcgi://unix:/var/run/hhvm/hhvm.sock:", host: "www.xxxxxxx.com"
и я не могу понять почему. Кажется, что hhvm постоянно дает сбой, поэтому мой сервер возвращается к использованию FPM для запуска страниц PHP.
hhvm version: HipHop VM 3.23.2 (rel)
nginx version: nginx/1.12.2
apache2 version: version: Apache/2.4.10 (Debian) (used for FPM fallback)
Linux version: Debian 8 (Jessie)
А вот моя конфигурация PHP для nginx:
location ~ \.(hh|php)$ {
fastcgi_keep_conn on;
proxy_intercept_errors on;
error_page 502 = @fpm;
# try_files $uri /index.php;
include fastcgi_params;
fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
location @fpm {
# try_files $uri /index.php;
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
и разрешения для файла hhvm.sock:
root@Debian-82-jessie-64-LAMP /var/log/nginx # ls -als /var/run/hhvm/hhvm.sock
0 srwxrw---- 1 www-data www-data 0 Dec 30 18:43 /var/run/hhvm/hhvm.sock
Кстати, я предпочитаю использовать сокеты Unix, чем сокеты TCP.
ОБНОВИТЬ:
Вот содержимое моего файла hhvm server.ini:
; php options
pid = /var/run/hhvm/pid
; hhvm specific
; hhvm.server.port = 9000
hhvm.server.file_socket=/var/run/hhvm/hhvm.sock
hhvm.server.type = fastcgi
hhvm.server.default_document = index.php
hhvm.log.use_log_file = true
hhvm.log.file = /var/log/hhvm/error.log
hhvm.repo.central.path = /var/cache/hhvm/hhvm.hhbc
Вам нужно сделать два вещи: