我在让 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.php
with <?php phpinfo(): ?>
,没有别的。这是在 EC2 实例上,我正在尝试从另一台计算机加载页面,其中mydomain.com
和pma.mydomain.com
都设置为其在我的/etc/hosts
.
导航到mydomain.com
工作正常,PHP 工作,等等。但是当我导航到子域时,它挂起。对于任何其他子域,连接立即失败(没有 DNS 记录)。但是因为pma
它根本无法加载。
我的日志文件为pma
空且无用。我不知道如何调试这个无声的失败,这让我发疯。