我的服务器上有 ubuntu 系统。我有 php、composer,还有 laravel 项目,它们运行良好。但我有一个问题。一切都在我的服务器 ip 上运行,但我也有域。所以我想在域上进行所有这些操作。当我进入域时,它会弹出:
This site can’t be reached
ERR_NAME_NOT_RESOLVED
然后我清除了浏览器的 DNS 缓存,但还是不行。我认为它需要 apache 虚拟主机或类似的东西。因此,我在 (/etc/apache2/sites-available) 中创建了 my_domain.conf,并且在这个文件中有以下代码:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias example.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
(我在 /var/www/html 中有 laravel 项目,这没有问题)。我在 ssh 中运行了 sudo a2ensite example.com.conf 和 sudo a2dissite 000-default.conf。这没有问题,进行了这些更改。然后使用 sudo systemctl restart apache2 重新启动 apache。当我进入我的域时,没有任何变化。
答案1
ERR_NAME_NOT_RESOLVED
表示您的域名无法解析为 IP 地址,这意味着您必须在 DNS 区域中创建 A 资源记录,或者使用 /etc/hosts 映射才能访问您的域。
答案2
ERR_NAME_NOT_RESOLVED
意味着您的域名/主机名未正确配置为指向您的服务器,apache 配置与此无关。我建议您检查域名记录,以确保它正确指向您想要的目的地。
配置域名后,您可以nslookup
尝试解析它(请注意,DNS 缓存可能需要一段时间才能真正获取配置的记录)
$ nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 216.58.203.78
Name: google.com
Address: 2404:6800:4005:805::200e
如果您对“制作网站”这件事还不熟悉,请注意,您需要先租用“域名”和“服务器”,然后才能让互联网上的某人访问您的网站。