尝试连接到 hhvm 时,nginx 日志中出现连接被拒绝错误

尝试连接到 hhvm 时,nginx 日志中出现连接被拒绝错误

我的 nginx Web 服务器的 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)

以下是我的 nginx PHP 配置:

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

答案1

你需要做事物:

  1. 配置 hhvm 来监听您在 nginx 配置中指定的相同套接字。
  2. 重新启动 hhvm。

相关内容