我在让 nginx 在子域上工作时遇到了一些麻烦。我有两个conf文件/etc/nginx/conf.d/如下(第一个编辑中的一些细节):
mydomain.conf: 网站本身server_name,mydomain.com和www.mydomain.com:
server {
listen 80;
root /var/www/sites/mydomain;
index index.php;
server_name mydomain.com www.mydomain.com;
access_log /var/log/nginx/mydomain.access.log;
error_log /var/log/nginx/mydomain.error.log;
...
}
phpmyadmin.conf:
server {
listen 80;
root /var/www/sites/phpmyadmin;
index index.php;
server_name pma.mydomain.com;
access_log /var/log/nginx/phpmyadmin.access.log;
error_log /var/log/nginx/phpmyadmin.error.log;
location / {
index index.php;
}
location ~* \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
目前,它只/var/www/sites/phpmyadmin包含一个index.phpwith <?php phpinfo(): ?>,没有别的。这是在 EC2 实例上,我正在尝试从另一台计算机加载页面,其中mydomain.com和pma.mydomain.com都设置为其在我的/etc/hosts.
导航到mydomain.com工作正常,PHP 工作,等等。但是当我导航到子域时,它挂起。对于任何其他子域,连接立即失败(没有 DNS 记录)。但是因为pma它根本无法加载。
我的日志文件为pma空且无用。我不知道如何调试这个无声的失败,这让我发疯。