我已经在 Rackspace 上建立了一个云服务器实例,并且购买了一个域名并将其指向我的服务器的 IP 地址,因为我想在此服务器上托管一个 Sinatra 应用程序,但这是我第一次这样做,我需要一些指示。
我的主要困惑是:当我在浏览器中输入 IP 地址或域名时,Ubuntu 如何知道应该从哪个目录提供文件?我应该修改配置文件吗?我已经用这个修改了 /etc/hosts:
173.1.1.23 我的.域名.com
(不是真实 IP 地址)
但那不管用。我的应用程序正在运行……所以我不知道这里缺少什么。有人在 Rackspace 上建立过网站吗?任何见解都将不胜感激。
第二个困惑是:是否可以在没有名称服务器的情况下将域名指向 IP 地址?只是好奇。GoDaddy 让我以为是的,但现在我不太确定了。:-/
答案1
www.example.com
基本上,当您在浏览器中输入时发生的情况是这样的。
- 浏览器从 DNS 服务器查找域名的 IP 地址。
- 浏览器向给定的 IP 地址发送对特定资源的请求(但也传递人可读的地址(域名),以便一个 IP 地址可以为多个网站提供服务)。
- 服务器返回资源。
更详细的描述请见http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url。
基本上,如果你只有一个网站从该 IP 地址提供服务,那么你没有什么可做的需要将 DNS 名称与 IP 地址关联起来在服务器本身上。您只需确保已在 DNS 服务器上正确设置记录。
如果你想通过一个 IP 地址为不同的网站提供不同的域名,请查看http://httpd.apache.org/docs/2.0/vhosts。
是否可以在没有名称服务器的情况下将域名指向 IP 地址?
我不太清楚你的意思。如果计算机要根据给定的名称获取你的 IP 地址,则该 IP 地址必须位于特定计算机的主机文件中,或者位于 DNS 服务器上。
高血压
安迪
答案2
Rackspace 云的名称服务器是
dns1.stabletransit.com 和 dns2.stabletransit.com
对于那些遇到此问题的人,请阅读此处的说明,它解释得很好
http://cloudservers.rackspacecloud.com/index.php/DNS_-_Creating_a_DNS_Record
我很理解楼主的感受,因为我花了好一阵子才搞清楚这个问题,如果你有共享主机的使用经验,如果你之前没有读过或做过 DNS 的工作,那你肯定对 DNS 的工作原理一无所知。
答案3
答案4
Sinatra 应用程序与 Apache 等标准 Web 服务器略有不同。您可以将 Sinatra 应用程序创建为文件(例如 hello.rb),然后只需运行该文件即可开始托管您的 Web 应用程序。它将默认使用非标准端口号,但您可以将其配置为在任何端口上运行。
如果您只想托管一个简单的 Sinatra 应用程序进行测试,那么这就是基本知识。如果您要托管多个 Sinatra 应用程序或想要“以正确的方式”进行托管,那么您需要使用 Passenger。 这一页描述了让 Sinatra 与 Passenger 和 Apache 一起运行的基础知识。
我还应该提到,如果您只是想托管用于测试/开发目的的东西,那么 Heroku 可能适合您。一旦您开始积极使用它,它们可能会非常昂贵,但对于开发目的来说,它相当不错。