如何在数字海洋上使用 1 个 Droplet 使用 Nginx 服务多个域

How to serve multiple domains with nginx using 1 droplet on digital ocean

这是在我的 public 域中工作并正确提供的默认配置。

/etc/nginx/sites-available/default

server {
    server_name  localhost;
    listen       80;
    root         /usr/share/nginx/html;
    index        index.html;
}

我已经复制了这个 'conf' 文件并重命名为我的网站域名:

/etc/nginx/sites-available/MYDOMAIN.com

server {
    server_name  MYDOMAIN.com www.MYDOMAIN.com;
    listen       80;
    root         /usr/share/nginx/html;
    index        index.html;
}

我添加了符号链接

ln -s /etc/nginx/sites-available/MYDOMAIN.com /etc/nginx/sites-enabled/

我也更新了主机(虽然不确定是否需要)

/etc/hosts

127.0.0.1 localhost
127.0.0.1 MYDOMAIN.com

我已经通过 names.co.uk.

将域名指向我的服务器

如果你看,你可以看到它被正确转发到这里:

https://codebeautify.org/name-server-lookup

MYDOMAIN.com    IN  1800    NS  ns3.digitalocean.com
MYDOMAIN.com    IN  1800    NS  ns1.digitalocean.com
MYDOMAIN.com    IN  1800    NS  ns2.digitalocean.com

我已经重启了nginx

systemctl reload nginx

状态不错

systemctl status nginx

● nginx.service - 高性能网络服务器和反向代理服务器 已加载:已加载(/lib/systemd/system/nginx.service;已启用;供应商预设:已启用) 活跃:自 2020 年 12 月 19 日星期六 17:39:06 UTC 以来活跃 (运行); 32分钟前 文档:man:nginx(8)

我可以访问的ip地址:

http://143.110.171.174/

这正确地服务于默认的 conf 文件

但是我不能访问www.MYDOMAIN.com

没有返回任何内容。谁能告诉我缺少什么?

您的 DNS 规则中似乎缺少 DNS A record

您可以添加一条 A 记录到您的 Droplet 中,如下所示

  • 在控制面板中,单击主菜单中的网络
  • 然后单击您要管理的域。
  • 然后 select 记录类型为 A
  • 添加主机名 @ ($ORIGIN)
  • 选择要重定向到的 Droplet IP
  • 选择 TTL 3600

稍等几分钟,您应该可以让您的域正常工作 对于参考你可以检查这个 link : https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/