我正在创建虚拟主机——为此我遵循了以下 URL 详细信息
我已经创建了名称的虚拟主机,raveesmake.com
并重新启动了 apache 服务器。
当我执行ping
命令时,raveesmake.com
它会显示发送和接收的数据包数据。
现在我想让这个网站上线,这样任何人都可以通过以下方式访问它raveesmake.com
。但是,除非我将其添加到本地计算机主机文件中,否则该网站不会加载。
我需要在 linode 的 DNS 管理器中添加条目吗?在添加主机之前,它是否检查过主机是否已购买/可用?
答案1
您需要将 DNS 条目添加到:
@.host.com IP sub.host.com IP
访问浏览器将通过 DNS 从主机名解析您的 IP,然后通过 HTTP 连接向您的 Apache 发送请求。Apache 将检查 HOST 标头,如 myhost.com 或 sub.host.com,并使用加载的关联虚拟主机。
但虚拟主机文件的命名方式完全无关紧要。你只需设置服务器名称以及数量服务器别名其中的指令:
<VirtualHost *:80>
ServerName host.com
ServerAlias sub.host.com
ServerAlias mirror.host.com
如果 apache 收到未知的 HOST 标头(在已加载的虚拟主机中没有与之关联的 ServerName),它将只使用第一个加载的虚拟主机,因此如果您只有一个站点,则可以删除服务器名称和服务器别名,但禁用“默认” apache 主机(带有 hello-world 页面):
sudo a2dissite 000-default default-ssl
对于有关 apache2 的问题,请使用 ServerFault stackexchange。
答案2
首先创建一个.conf
位于的文件/etc/apache2/sites-available/MyDomain.com.conf
。
注意:根据需要将 MyDomain.com 替换为您的域名
然后输入命令nano /etc/apache2/sites-available/MyDomain.com.conf
来编辑文件并将这些代码粘贴到其中:
# domain: MyDomain.com
# public: /var/www/html/MyDomain.com/public_html
<VirtualHost *:80>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin [email protected]
ServerName MyDomain.com
ServerAlias www.MyDomain.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /var/www/html/MyDomain.com/public_html
# Log file locations
LogLevel warn
ErrorLog /var/www/html/MyDomain.com/log/error.log
CustomLog /var/www/html/MyDomain.com/log/access.log combined
</VirtualHost>
这是 Linode 提供的默认 .conf 文件
然后输入命令a2dissite *default
删除或禁用默认的 apache2,然后输入命令a2ensite MyDomain.com.conf
启用该站点。此外,输入命令service apache2 reload
使站点正常运行。
再次注意将 MyDomain.com 替换为您的域名
您可能想要将 DNS 区域添加到 linode 并添加从属 IP。
步骤 1:登录 Linode,然后单击DNS Manager
。add a domain zone
然后提供以下详细信息:
第 2 步:转到Linodes>YourLinode###>Remote Access
并点击reverse DNS
。然后在此处输入您的域名并点击Look up