我有一台使用 Nginx 的 Amazon EC2 机器。我正在运行 MediaWiki,我想在同一台服务器上使用 Phabricator(另一个应用程序)。
我的 Phabricator 配置文件是:
server {
server_name phabricator.example.com;
root /var/www/phabricator;
location / {
index index.php;
rewrite ^/(.*)$ /index.php?__path__=/$1 last;
}
location = /favicon.ico {
try_files $uri =204;
}
location /index.php {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
#required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
#variables to make the $_SERVER populate in PHP
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 GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
}
}
当我尝试使用配置的子域时,server_name
它显示 404 页面。serverfault 上的其他问题说这是由SCRIPT_FILENAME
配置错误引起的,但这似乎是应该的。
日志中显示的错误:
2015/12/14 13:23:47 [error] 15588#0: *18 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 108.162.212.95, server: starscream.athoscastro.org, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock: