在本地运行多个网站Apache PHP Ubuntu

7 apache ubuntu virtualhost

我试图运行多个虚拟主机(?),例如:http:/ localhost将指向一个项目,http:/ newsite指向另一个项目,http:/ myfavourite指向另一个项目不同的文档根目录.

(由于超链接发布限制,每个http://都是http:/ here)

我没有成功查看在/ etc/apache2中编辑apache文件的位置.我在寻找一个vhosts文件吗?

任何建议都很棒,谢谢.

Pas*_*TIN 9

以下是电子书的一章,解释了如何创建虚拟主机以完全按照您的需要进行操作 - 示例使用的是Ubuntu:使用Apache虚拟主机创建本地域

简而言之 :

  • 您首先需要创建VirtualHost
  • 然后,您必须编辑您的主机文件(在Linux下,它/etc/hosts),以便新的"伪域名"指向您的计算机.

对于VirtualHost,使用Ubuntu,您将创建一个新文件/etc/apache2/sites-available/; 比如命名your-site.com; 它将包含这样的东西:

<VirtualHost *:80>
    ServerName your-site.com
    DocumentRoot /.../www/...

    <Directory /.../www/...>
        Options Indexes FollowSymLinks Includes
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

你注册这个文件,所以它由Apache加载,使用这个命令:

sudo a2ensite your-site.com
Run Code Online (Sandbox Code Playgroud)

然后,重新加载Apache:

sudo /etc/init.d/apache2 reload
Run Code Online (Sandbox Code Playgroud)


然后,您必须编辑/ etc/hosts以添加如下所示的行:

127.0.0.1       your-site.com
Run Code Online (Sandbox Code Playgroud)

所以"your-site.com"实际上指向您自己的计算机.


重要的是,用于在浏览器中访问您的网站的名称是在hosts文件中声明的名称; 它也必须与Apache配置中ServerName directivr使用的相同.


当你为一个VirtualHost做了这个......对于其他每个人来说都是一样的:只有站点的名称和它的DocumentRoot才会改变.


希望这可以帮助!


kni*_*ttl 1

localhost 与 apache 无关,而是您机器的别名(ip 127.xxx)。

\n\n

你\xe2\x80\x99必须编辑/etc/hosts才能完成你想要的。

\n\n

你为什么要这么做?\xe2\x80\x99t http://localhost/newsite够了吗?

\n