本文概述
在xampp中使用虚拟主机是在单台计算机上运行多个网站(针对本地资源)的一种做法。
虚拟主机是基于IP的, 这意味着你对每个网站都有一个不同的IP地址, 或者”基于名称”, 这意味着你在每个IP地址上都运行着多个名称。当你要模拟生产环境(但是在开发环境中工作)时, 使用XAMPP的这种做法非常方便, 该环境可以通过浏览器中的常规URL在本地访问你的项目。
要设置自定义虚拟, 我们需要执行以下步骤:
- 允许使用vhosts.conf文件编辑httpd.conf文件。
- 现在, 在系统的主机文件(/ etc / hosts)中创建一个自定义域。
- 创建自己的虚拟主机。
- 开始阿帕奇。
- 测试一下。
让我们开始吧!
1.允许使用自定义虚拟主机
默认情况下, ubuntu中的xampp不会使用httpd-vhosts.conf文件(虚拟主机的位置), 因此我们需要指出该文件将在apache运行时包含在内。使用你喜欢的代码编辑器打开位于/ opt / lampp / etc中的httpd.conf文件, 或者只需在终端中执行以下命令即可打开一个简单的编辑器:
sudo gedit /opt/lampp/etc/httpd.conf
现在, 将你自己定位在(大约)487行中, 你可能会在其中找到以下几行:
# Virtual hosts
#Include etc/extra/httpd-vhosts.conf
如你所见, 包含httpd-vhosts.conf文件的Include语句被注释。继续修改该行, 取消该行的注释:
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
你已经准备好配置自定义虚拟主机。
2.在系统的主机文件中创建一个自定义域
你需要创建一个自定义域, 我们的apache虚拟主机将指向该域。该域通常是一个IP(基于127.0.0.xx)和一个自定义名称。
首先, 使用你喜欢的代码编辑器或仅通过在终端中执行以下命令来编辑/ etc中的hosts文件:
sudo gedit /etc/hosts
并继续添加你的自定义主机。在此示例中, 我们的IP为127.0.0.3, 域为myawesomeproject。因此, 最后, 我们的主机文件将如下所示:
127.0.0.1 localhost
127.0.0.5 myawesomeproject
#don't touch other existent values
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
保存文件, 现在域myawesomeproject是本地地址127.0.0.5的别名。
3.创建你的第一个虚拟主机
通常, 你需要在/ opt / lampp / etc / extra中的httpd-vhosts.conf文件中创建虚拟主机。使用你喜欢的编辑器来编辑该文件, 或者只需执行以下命令即可在终端中对其进行编辑:
sudo gedit /opt/lampp/etc/extra/httpd-vhosts.conf
并在此文件中创建你自己的虚拟主机。如系统的vhost文件中的自定义域所示, 我们将使用的端口是127.0.0.5, 因此我们的虚拟主机将是:
<VirtualHost 127.0.0.5:80>
DocumentRoot "/opt/lampp/htdocs/my-first-project"
DirectoryIndex index.php
<Directory "/opt/lampp/htdocs/my-first-project">
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
VirtualHost的深度和自定义配置由你决定。保存文件, 就可以对其进行测试了。
4.测试你的虚拟主机
要对其进行测试, 请在文件夹/ opt / lampp / htdocs / my-first-project中, 创建一个简单的PHP文件(index.php), 其中将包含以下PHP代码:
<?php
echo "Hello world!";
?>
使用以下命令(或以任何方式启动apache和其他所需的服务)启动apache, mysql(整个XAMPP):
sudo /opt/lampp/lampp start
在你喜欢的浏览器中导航到http:// myawesomeproject /或http://127.0.0.5/, 你应该在浏览器中获得输出” Hello World”。
编码愉快!
评论前必须登录!
注册