在进行开发中,我们总会遇到需要在一台服务器上搭建多个域名网站的时候。
接下来,分享一下最近学习如何在Ubuntu系统搭建多域名的笔记:
目录
1、创建站点文件
站点文件可以是把已经准备好的文件copy 的指定目录,也可以自己一步一步的在本地主机搭建起来。
在这里展示一下搭建一个站点文件:
1、cd /var/www/
// 跳转到指定目录
2、sudo mkdir test
// 创建test目录
3、 cd test/
//跳转到test目录下
4、sudo vim index.html
//新建一个index.html 并输入一下代码:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
看到本也页面,说明已经搭建多域名成功了!!
</body>
</html>
保存并退出。index.html 文件会自动生成。
2、申明一个域名
liunx系统在/ect目录下有个hosts 文件,其作用是是Linux系统上一个负责ip地址与域名快速解析。
那我们现状要做的就是要申明一个域名,通过这个域名来访问本地主机上的一个网站文件。所以,
需要在hosts 添加一条映射。操作如下
在终端上运行如下命令:
sudo vim /etc/hosts
//打开hosts文件
你会在文件最前面看到类似如下信息:
127.0.0.1 localhost
127.0.1.1 jay-VirtualBox
……
在该文件里,ip 地址和域名都是成对出现的。
127.0.0.1 就是本地主机的ip, localhost 就是相对应的域名。
接下来,我们在最后一条域名解析记录下添加一条域名解析记录:
127.0.0.1 test.com
// 新增一个域名,其指向本地主机(127.0.0.1)
保存离开。
3、绑定站点文件
域名有了,那浏览器就可以通过域名访问到指定IP的服务器(这里是本地主机)
但是我们并没有指出接下来浏览器该怎么走。所以我们还需要给出一份更加详情的“地图”给浏览器。
注:
如果只配置的步骤二就在浏览器进行访问,我们就会看到浏览器会自动访问默认站点文件。当然,
前提是你已经配置好了一个域名服务器
要绘制这份“地图”,我们需要借助apache(我使用的apache 为apache2。apache2 下载安装 和 具体目录结构请自行百度。)
操作如下:
1、sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test.conf
// 在/etc/apache2/sites-available/下 copy 000-default.conf 配置文件,并在该目录下粘贴、重命名为test.conf。
2. cd /etc/apache2/sites-available/
// 进入sites-available 目录
3、sudo vim test.conf
//打开test.conf 文件
修改以下信息:
1、找到 ServerName 去掉 # 的注释,并把后面的域名改为设置的 test.com
2、ServerAdmin 修改为 webmaster@localhost
ServerAdmin 设置一个邮件地址,如果服务器有任何问题将发信到这个地址, 这个地址会在服务器产生的某些页面中出现。
3、DocumentRoot 站点物理路径改为 var/www/test
注意:如果站点的文件不在 var/www/目录及其子目录下,我们需要在 /etc/apache2/ 目录下的apache2.conf 添加如下代码:
<Directory /home/VMShareFiles/test/> //这里假定站点物理路径为 /home/VMShareFiles/test/
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
4、切换激活站点并重启apache2
sudo a2ensite test.conf
sudo /etc/init.d/apache2 restart