这是一个我无法解决的问题。
我在 DigitalOcean 上有一个 VPS,手动安装了一个 LEMP 堆栈,并且我的域名是 hover.com
如果你访问我的服务器,一切似乎都正常地点。但我尝试配置两个东西,但根本不起作用。
首先,我尝试配置一个新的子域名(blog.erzei.net),但当我尝试在浏览器(任何浏览器)中访问该地址时,它返回“未找到”。即使我尝试
curl -I blog.erzei.net
它返回“无法解析主机”,尽管 erzei.net 工作正常。我不知道这是否与域名注册商有关,或者是 nginx 配置问题。据 Hover 支持告诉我,我从注册商配置的任何重定向都不起作用,因为我使用的是 DigitalOcean 的 DNS。所以,我认为我必须从我的 nginx 配置中配置每个新子域。
服务器块的代码如下,位于 sites-available 的默认配置文件中主块之后:
server {
listen 80;
server_name blog.erzei.net;
root /example/directory.net;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
服务器的主要块是:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /main/directory.net
index index.php index.html index.htm;
server_name erzei.net www.erzei.net;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
第二个问题是 www 到非 www 的重定向也不起作用。可能与我的第一个问题有关。如果我输入 www.erzei.net,我会在浏览器中收到“找不到服务器”响应。配置再次位于我的 nginx 默认配置文件中。
server {
server_name www.erzei.net;
return 301 $scheme://erzei.net$request_uri;
}
我从官方 nginx 文档、wiki、DigitalOcean 论坛和这里进行了大量研究。有人能帮助我吗?谢谢。
答案1
正如问题评论中提到的,我需要在 DigitalOcean 上编辑一些 DNS 记录,而不是在注册管理中。
似乎我在研究过程中错过了这个链接,希望它能帮助其他人。