我在Amazon AWS上有一个实例(Ubuntu服务器)。
我想为我的网站创build一个子域名: tools.example.com用于我工作的办公室的人员,以及构build工具(使用PHP),以便员工可以使用。 (代码自动化Web应用程序为前)。
我从来没有在Linux服务器上创build子域(我通常使用cPanel ect来与托pipe公司一起工作),而我是亚马逊AWS的新手,我发现它非常棒,并且使用Linux服务器,由我自己 – 非常棒!
所以我开始研究如何在我的网站上创build一个子域名,并且我知道我有两个选项,我不完全知道它们之间有什么区别,对我的工作影响'等。
第一个选项是使用Amazon Route53创build子域: http ://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingNewSubdomain.html
我遇到的第二个select是使用Ubuntu服务器本身,例如: https : //askubuntu.com/questions/463618/setting-up-subdomain-on-ubuntu-server http://kim.sg/index。 PHP / Ubuntu的/ 17-如何对设置子域,Ubuntu的服务器14-04上,
有些事情对我来说似乎有些模糊,我会很乐意从那些对理论“东西”有更多了解的人那里得到更多的启发,并且会引导我去find最好的select。
请随时问我问题。
for @Stefano Martins(28.10.2015):
好的,我做了这个:
<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错误了。 但现在我不能通过FTP上传到/var/www/tools.example.com/public_html 。
更新:我用sudo chown www-data:www-data -R /var/www/解决了我的问题。
非常感谢!
这是amazon web services的事情。 您有很多select来构build您的基础架构,从简单的EBS(Elastic Beanstalk)开始,它提供了一个易于部署(又快又脏的方式)的环境。
另一个select是使用EC2并自己构build,因为这是您迄今为止select的方式,所以基本上您需要的是:
在Route 53中,创build指向实例IP地址的CNAME或Alogging(您应该使用弹性IP来确保您的实例始终获得相同的IP地址)。 我会build议一个CNAME条目,因为您的区域中已经有一个Alogging。 这使得你的DNSparsing速度稍微慢一些,但是通过时间pipe理更容易。 我们可以调用tools.example.com。
在您的Apacheconfiguration目录(通常是/ etc / apache2 / sites-available)中,创build一个名为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>
创build将存储您的网站/应用程序的目录:
mkdir -p /srv/www/tools.example.com/{public_html,logs}
启用新的虚拟主机并重新加载Apache的服务:
sudo a2ensite tools.example.com.conf sudo service apache2 reload
小窍门:在大多数情况下,使用AWS基础架构和开箱即用的解决scheme更便宜。
注意:基本上,这是您所需要的,但是这对于生产环境来说不是100%理想的。
氰!
您需要两件事情才能使您的子域正常工作。
DNS服务器中的DNSlogging。 这个logging应该在你在裸域(yourdomain.tld)上设置的域名服务器上创build。 如果您已经在使用Amazon Route53作为您的裸域,那么也可以将其用于您的子域(Amazon Route53只是一个DNS托pipe服务)
Web服务器中的虚拟主机。