在一台服务器上搭建多个网站的方法(Apache版)

Apache的配置文件一般放置在/etc/httpd/conf文件夹下,httpd.conf是它的主配置文件,在进行配置时可以将虚拟主机的配置文件单独配置,如取名为vhost.conf,然后再http.conf中加入一行包含的语句“Include /etc/httpd/conf/vhost.conf”即可将vhost.conf的配置文件包含进来。

 

目前在一台服务器上搭建多个网站的方法主要由以下几种:
1、 基于IP地址
这种方法适用于一台服务器有多个IP的情况,但目前阿里云的ECS只允许绑定一个公网IP和一个私网IP,故此方法不适用
2、 基于端口号
这种方法使用不同的端口号来识别不同的网站,实际访问时使用网址加端口号的方式来实现,如http://port.huigher.cn:80http://port.huigher.cn:81http://port.huigher.cn:82,该方式配置后需要在网站后加上端口号来访问不同的网站,适用于网站域名短缺但服务器的端口号充足的情况,缺点是网站后需要加上端口号,不利于用户访问
3、 基于主机名
这种方法使用不同的域名来区分不同的网站,所有的域名解析都指向同一个IP,Apache通过在HTTP头中附带的host参数来判断用户需要访问哪一个网站,如http://test1.huigher.cnhttp://test2.huigher.cnhttp://test3.huigher.cn,多数情况下多个网站架在一台服务器上均使用该方法,下面以CentOS6.5系统为例,说明如何配置基于主机名的Apache虚拟主机。

一、 在Apache的配置文件夹下新建vhost.conf,作为虚拟主机的配置文件,在其中编写虚拟主机的内容,先加入默认的文件头:

 


NameVirtualHost *:80

    ServerName *
    # DocumentRoot为默认情况下网站的目录
    DocumentRoot /www/html


二、 之后再根据实际情况添加以下的配置:

 


#在任意的地址上监听80端口上的HTTP请求

    #网站管理员的联系方式
    ServerAdmin

test@huigher.cn
    #网站的目录
    DocumentRoot /var/www/html/test3
    #主机名,apache就是通过这个地址来识别不同的网站
    ServerName test3.huigher.cn
     #错误日志路径
    ErrorLog logs/test3.huigher.cn-error_log
    #访问日志路径
    CustomLog logs/test3.huigher.cn-access_log common


四、 服务器上有多少个网站,那么就分别配置多少份以上信息,并根据实际情况修改其中的内容,测试时服务器上的页面配置情况如下:

z1-1.JPG

 

五、 在http.conf文件中加入一行“Include /etc/httpd/conf/vhost.conf”,将vhost.conf文件内容包含进来

 

六、在/etc/hosts文件中将网站的域名绑定到本地环回地址上:

127.0.0.1 test1.huigher.cn

127.0.0.1 test2.huigher.cn

127.0.0.1 test3.huigher.cn


七、 最后使用service httpd reload重新加载配置文件或service httpd restart重启Apache进程即可


八、 测试不同的域名返回了不同的网站内容

 

原文地址:https://www.cnblogs.com/Amos-Turing/p/8951882.html