apache配置多站点

通过把apache配置安装为服务设置多站点

  1. 打开wamp\bin\apache\Apache2.2.21\conf文件夹,复制httpd.conf,重命名为 my.conf
  2. 打开my.conf,修改并保存
    1. Listen 8009 # 端口号 #
    2. ServerName localhost:8009 #服务器名#
    3. DocumentRoot “G:/WapStatic” #设置为网站根目录的url”
    4. <Directory />
    5. Options Indexes FollowSymLinks Includes #支持服务端包含 *.shtml文件支持#
    6. AllowOverride None
    7. Order allow,deny
    8. allow from all
    9. </Directory>
    10. <Directory “G:/WapStatic”> #设置网站根目录的权限#
    11. Options Indexes FollowSymLinks Includes #支持服务端包含 *.shtml文件支持#
    12. AllowOverride all
    13. Order Allow,Deny
    14. Allow from all
    15. </Directory>
  3. 接下来安装站点
    运行 cmd 定位到apache安装目录下的bin文件夹(wamp\bin\apache\Apache2.2.21\bin
    执行 httpd.exe -k install -n “服务名” -f “配置文件的路径”; //安装一个apache服务
    可以用 httpd.exe /?查看各个选项的意思

    1. # 比如:(服务名和配置文件的路径必须用双引号括起来)
    2. httpd.exe -k install -n “longsun” -f “F:\Program Files\Apache Group\Apache2\conf\longsun.conf”
  4. 运行apache目录下的 apacheMonitor.exe 查看当前的apache服务,启动我们刚刚建的服务。
  5. 浏览器打开 http://www.localhost:8009 验证站点是否正常

通过1个IP多端口的方式配置多站点

一个IP + 一个端口 映射一个站点

  1. 打开 conf/httpd.conf 配置文件,修改如下:
    1. Listen 8012 #监听新端口
    2. Include conf/extra/httpd-vhosts.conf # ctrl+f 查找,去掉前面的#注释,包含外部虚拟主机配置文件
    3. #打开虚拟主机配置文件 ( conf/extra/ httpd-vhosts.conf ) , 在底部增加这样一段配置信息
    4. <VirtualHost *:8012>
    5. ServerAdmin webmaster@myweb.com
    6. DocumentRoot “d:/mysite/” #站点根目录
    7. ServerName localhost:8012 #站点主机名 域名+端口 唯一标识一个主机
    8. #由于httpd.conf的全局配置比较严格,默认所有目录不可访问,所以要这个放宽访问权限
    9. <Directory />
    10. Options FollowSymLinks
    11. AllowOverride all
    12. Order deny,allow
    13. Allow from all
    14. </Directory>
    15. </VirtualHost>
  2. 保存配置文件后,重启apache,然后就可以预览 http://localhost:8012/test.html
  3. 在命令行下,转到 apache2/bin目录 运行httpd -S可以分析虚拟主机配置文件是否正确。

通过修改host方式配置多站点

hosts文件位于 window\system32\drivers\etc下

  1. 修改本机的hosts文件,如下:
    1. 127.0.0.1 localhost
    2. 127.0.0.1 www.dede.com
    3. 127.0.0.1 www.phpcms.com
  2. 打开httpd.conf文件,分别去掉下面两行文字前面的#号。
    1. #启用apache的虚拟主机功能。
    2. #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    3. #包含虚拟主机配置。
    4. #Include conf/extra/httpd-vhosts.conf
  3. 打开extra/httpd-vhosts.conf文件,加上自己的虚拟主机配置。
    1. # www.glife.com, www.myphp.com是在hosts文件中指定解析为本机ip的
    2. <VirtualHost *:80>
    3. ServerAdmin stephenjj@126.com
    4. DocumentRoot “d:/pan/shopilex” #注意 目录分隔符用斜杠/
    5. ServerName www.glife.com
    6. </VirtualHost>
    7. <VirtualHost *:80>
    8. ServerAdmin stephenjj@126.com
    9. DocumentRoot “d:/web”
    10. ServerName www.myphp.com
    11. </VirtualHost>
  4. 重启apache, 并访问对应网址试试

1、创建站点文件

站点文件可以是把已经准备好的文件copy 的指定目录,也可以自己一步一步的在本地主机搭建起来。
  • 1

在这里展示一下搭建一个站点文件:

1、cd /var/www/
  // 跳转到指定目录
2、sudo mkdir test
  // 创建test目录
3、 cd test/ 
  //跳转到test目录下
4、sudo vim index.html
  //新建一个index.html 并输入一下代码:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
<html>
<head>
   <meta charset="utf-8">
</head>
<body>
看到本也页面,说明已经搭建多域名成功了!!
</body>
</html> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

保存并退出。index.html 文件会自动生成。

在这里插入图片描述

2、申明一个域名

liunx系统在/ect目录下有个hosts 文件,其作用是是Linux系统上一个负责ip地址与域名快速解析。
那我们现状要做的就是要申明一个域名,通过这个域名来访问本地主机上的一个网站文件。所以,
需要在hosts 添加一条映射。操作如下

在终端上运行如下命令:

sudo vim /etc/hosts
//打开hosts文件
  • 1
  • 2

你会在文件最前面看到类似如下信息:

127.0.0.1       localhost
127.0.1.1       jay-VirtualBox
……
  • 1
  • 2
  • 3

在该文件里,ip 地址和域名都是成对出现的。
127.0.0.1 就是本地主机的ip, localhost 就是相对应的域名。
接下来,我们在最后一条域名解析记录下添加一条域名解析记录:

127.0.0.1   test.com
// 新增一个域名,其指向本地主机(127.0.0.1)
  • 1
  • 2

在这里插入图片描述
保存离开。

3、绑定站点文件

域名有了,那浏览器就可以通过域名访问到指定IP的服务器(这里是本地主机)
但是我们并没有指出接下来浏览器该怎么走。所以我们还需要给出一份更加详情的“地图”给浏览器。

注:
	如果只配置的步骤二就在浏览器进行访问,我们就会看到浏览器会自动访问默认站点文件。当然,
	前提是你已经配置好了一个域名服务器
  • 1
  • 2
  • 3

要绘制这份“地图”,我们需要借助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
  • 2
  • 3
  • 4
  • 5
  • 6

修改以下信息:
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>
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

4、切换激活站点并重启apache2

sudo a2ensite test.conf
sudo /etc/init.d/apache2 restart
  • 1
  • 2

5、浏览器访问 test.com

在这里插入图片描述

通过以上的操作就可以在现有一个域名的情况下在搭建一个新的域名。如果还想再搭建其他域名,重复以上操作即可。