nginx 구성이 싫습니다. 너무 복잡합니다. 사용자 디렉토리에서 PHP를 작동 시키려면 어떻게해야합니까? 내 nginx.conf의 관련 부분은 다음과 같습니다.
location ~ ^/~(.+?)(/.*)?$ {
autoindex on;
autoindex_exact_size off;
alias /home/$1/public_html$2;
location ~ \.php {
include /etc/nginx/fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
}
이것은 나에게 오류를 준다 : FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
nginx 오류 로그.
여기 내 /etc/nginx/fastcgi.conf
:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
nginx가 스크립트 이름을 올바르게 해석하지 않는다고 가정합니다. 내장 (또는 최소한 표준화되고 문서화 된) 기능에 대한 사용자 정의 정규 표현식을 작성하여 파일 시스템에서 볼 위치를 nginx에 알려주는 것이 싫습니다.
/etc/nginx/fastcgi.conf
?