如何在公共IP上设置DEV / PROD网站

时间:2014-10-02 00:46:35

标签: apache ubuntu configuration development-environment vhosts

这是为了 Apache / 2.4.7(Ubuntu) Ubuntu 14.04 LTS

我有一个具有特定IP地址的服务器(例如22.22.22.22)。我想设置DEV,TEST和PROD环境。

例如,如果我去世界上任何一台计算机 1)到http://22.22.22.22然后我会点击生产网站 2)到http://22.22.22.22/dev然后我会点击开发网站 3)到http://22.22.22.22/test然后我会点击测试网站

我该如何设置?

请分享您对此的建议和想法。

谢谢!

1 个答案:

答案 0 :(得分:0)

不完全是你要求的 - 我会采取略微不同的方法。您将拥有一个域名,例如example.com。您可以www.example.comexample.com指向您的生产网站。然后,您可以dev.example.comtest.example.com指向各自的网站。所有DNS条目仍然指向22.22.22.22,但您可以设置Apache以不同方式处理它们。这使用Apache 命名的虚拟主机

在Apache的标准安装中,站点配置应该在/etc/apache2/sites-available。首先,应该有一个名为default的配置文件。使用以下内容创建新文件prod

# /etc/apache2/sites-available/prod
<VirtualHost 22.22.22.22:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/prod/html

    (etc.)

</VirtualHost>

我已经掌握了基础知识,但您可以查看default以了解其他指令。

接下来,您为devtest创建文件。像这样:

# /etc/apache2/sites-available/dev
<VirtualHost 22.22.22.22:80>
    ServerName dev.example.com
    DocumentRoot /var/www/dev/html

    (etc.)

</VirtualHost>

它应与prod基本相同,但不同DocumentRootServerNametest的配置也几乎相同。

完成这些设置后,您只需启用它们即可。运行:

sudo a2ensite dev

...这会启用dev。同样的事情test。运行此操作后,您应该会看到文件现在也在/etc/apache2/sites-enabled中符号链接。 (a2ensite命令创建符号链接。)

接下来,您只需重新启动Apache。一种方法是:sudo service apache2 restart