我已經在Rackspace 上設定了一個雲端伺服器實例,並且購買了一個網域並將其定向到我的伺服器的IP 位址,因為我想在該伺服器上託管Sinatra 應用程序,但這是我第一次這樣做,我需要一些指示。
我主要的困惑是:當我在瀏覽器中輸入 IP 位址或網域名稱時,Ubuntu 如何知道它應該從哪個目錄提供檔案?有需要修改的設定檔嗎?我已經用以下命令修改了 /etc/hosts:
173.1.1.23 my.domain.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 位址的計算機,該位址要么位於特定計算機的主機檔案中,要么位於 DNS 伺服器上。
華泰
安迪
答案2
機架空間雲的名稱伺服器是
dns1.stabletransit.com 和 dns2.stabletransit.com
對於遇到此問題的任何人,請閱讀此處的說明,它解釋得很好
http://cloudservers.rackspacecloud.com/index.php/DNS_-_Creating_a_DNS_Record
我可以同情OP,因為我必須搜尋一段時間才能弄清楚這一點,因為如果您來自共享主機的背景,那麼如果您之前沒有閱讀或做過,那麼DNS的工作原理將是完全未知的
答案3
答案4
Sinatra 應用程式與 Apache 等標準網頁伺服器有些不同。您將 sinatra 應用程式建立為一個檔案 (say hello.rb),然後只需執行該檔案即可開始託管您的 Web 應用程式。它預設為非標準連接埠號,但您可以將其配置為在任何連接埠上執行。
如果您只想託管一個簡單的 Sinatra 應用程式進行測試,這就是基礎知識。如果您要託管多個 Sinatra 應用程式或想要「以正確的方式」執行此操作,那麼您需要使用 Passenger。 這一頁描述了讓 Sinatra 與 Passenger 和 Apache 一起運行的基礎知識。
我還應該提到,如果您只是想託管一些東西用於測試/開發目的,那麼 Heroku 可能對您有好處。一旦您開始積極使用它們,它們可能會非常昂貴,但出於開發目的,它非常好。