이것이 내가 지금까지 한 일입니다:
$ less /etc/nginx/hhvm.conf
location ~ \.(hh|php)$ {
fastcgi_pass unix:/var/run/hhvm/sock;
include fastcgi_params;
}
$ less /etc/hhvm/server.ini
; php options
pid = /var/run/hhvm/pid
; hhvm specific
hhvm.server.file_socket = /var/run/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/run/hhvm/hhvm.hhbc
올바른 TCP 포트 구성에서는 제대로 작동하지만 이를 UNIX 소켓 구성으로 바꾸면 잘못 구성된 포트와 동일한 nginx 오류가 발생합니다.
답변1
파일 권한을 확인해야 합니다.
nginx는 php5-fpm 또는 hhvm Unix 소켓에 쓸 수 있어야 합니다.
/var/log/nginx/error.log
nginx 오류 로그에서 이것이 문제임을 확인하는 다음 과 같은 줄을 찾을 수 있습니다 .
2015/10/28 16:32:24 [crit] 14845#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /test.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "localhost"
해결책: nginx
소켓을 소유한 그룹(보통 www-data
)에 사용자를 추가합니다. 소켓 파일은 그룹에서 쓸 수 있어야 하므로 다음 명령을 사용하는 것이 가장 좋습니다.
# usermod -a -G www-data nginx