使用 Amazon AWS 建立子網域與從伺服器內建立子網域 - 有什麼區別?

使用 Amazon AWS 建立子網域與從伺服器內建立子網域 - 有什麼區別?

我在 Amazon AWS(Ubuntu 伺服器)上有一個實例。

我想為我的網站創建一個子網域:tools.example.com供我工作的辦公室中的人員使用,並建立工具(使用 PHP)以便員工可以使用。 (例如程式碼自動化網路應用程式)。

我自己從未在 Linux 伺服器上創建過子網域(我通常與使用 cPanel 等的託管公司合作),而且我是 Amazon AWS 的新手,我發現它非常棒,並且使用 Linux 伺服器並完成所有操作自己— —太棒了!

所以我開始探索如何在我的網站上建立子網域,我知道我有兩個選擇,我不完全知道它們之間有什麼區別,對我的工作等的影響」。

第一個選項是使用 Amazon Route53 建立子網域:http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingNewSubdomain.html

我遇到的第二個選項是使用 Ubuntu 伺服器本身來執行此操作,例如: https://askubuntu.com/questions/463618/setting-up-subdomain-on-ubuntu-server http://kim.sg/index.php/ubuntu/17-how-to-setup-subdomain-on-ubuntu-server-14-04

有些事情對我來說有點模糊,我很高興能從那些對理論「東西」了解更多的人那裡得到更多的啟發,並知道引導我做出最適合我的選擇。

請隨時向我提問。

對於@Stefano Martins(2015 年 10 月 28 日):

好的,我這樣做了:

<VirtualHost *:80>
    ServerName tools.example.com
    ServerAdmin [email protected]

    ErrorLog /var/www/tools.example.com/logs/error.log
    CustomLog /var/www/tools.example.com/logs/access.log combined
    DocumentRoot /var/www/tools.example.com/public_html
</VirtualHost>

mkdir -p /var/www/tools.example.com/{public_html,logs}

sudo a2ensite tools.example.com.conf
sudo service apache2 reload
sudo find /var/www/tools.example.com/public_html -type d -exec chmod 755 {} \;
sudo find /var/www/tools.example.com/public_html -type f -exec chmod 644 {} \;
sudo adduser ubuntu www-data
sudo find /var/www/tools.example.com/public_html -type d -exec chmod 775 {} \;
sudo find /var/www/tools.example.com/public_html -type f -exec chmod 664 {} \;

我的資料夾是var這個,不是srv.我將所有內容從 srv 更改為 var,現在我不再收到 403 錯誤。但現在我無法/var/www/tools.example.com/public_html透過 FTP上傳。

更新: 我用sudo chown www-data:www-data -R /var/www/ 它解決了我的問題。

多謝!

答案1

這就是亞馬遜網路服務的問題。您有很多選擇來建立基礎設施,從簡單的 EBS(Elastic Beanstalk)開始,它提供了易於部署(又稱為快速而骯髒的方式)環境。

另一種選擇是使用 EC2 並自行構建,因為這是您到目前為止選擇的方式,所以基本上您需要的是:

在 Route 53 中,建立指向您執行個體的 IP 位址的 CNAME 或 A 記錄(您應該使用彈性 IP 以確保您的執行個體始終獲得相同的 IP 位址)。我建議使用 CNAME 條目,因為您的區域中已經有 A 記錄。它會使您的 DNS 解析速度稍微慢一些,但隨著時間的推移更容易管理。我們可以稱之為tools.example.com。

在 Apache 設定目錄(通常為 /etc/apache2/sites-available)中,建立一個名為 tools.example.com.conf 的文件,其中包含以下內容:

<VirtualHost *:80>
    ServerName tools.example.com
    ServerAdmin [email protected]

    ErrorLog /srv/www/tools.example.com/logs/error.log
    CustomLog /srv/www/tools.example.com/logs/access.log combined
    DocumentRoot /srv/www/tools.example.com/public_html
</VirtualHost>

建立將儲存您的網站/應用程式的目錄:

mkdir -p /srv/www/tools.example.com/{public_html,logs}

啟用新的虛擬主機並重新載入 Apache 的服務:

sudo a2ensite tools.example.com.conf
sudo service apache2 reload

提示:在大多數情況下,使用 AWS 基礎架構和開箱即用的解決方案更便宜。

注意:基本上,這就是您所需要的,但這對於生產環境來說並不是 100% 理想。

呀!

答案2

您需要做兩件事才能使您的子網域正常運作。

  1. DNS 伺服器中的 DNS 記錄。該記錄應在您在裸域 (yourdomain.tld) 上設定的名稱伺服器上建立。如果您已經將 Amazon Route53 用於裸域,那沒問題,您也可以將其用於子網域(Amazon Route53 只是一個 DNS 託管服務)

  2. Web 伺服器中的虛擬主機。

相關內容