总共有三种方法:通过不同的IP地址

          通过不同的域名

          通过不同的端口号

(1).通过不同的IP地址实现

  例如一台CentOS7有两个IP:192.168.5.101和192.168.5.103

[root@youxi1 conf]# cd /etc/httpd/conf.d/
[root@youxi1 conf.d]# vim test.conf  //新建一个配置文件
<VirtualHost 192.168.5.101:9988>  //IP和端口
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html/  //指向的路径
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost 192.168.5.103:9988>  //IP和端口
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html/test/  //指向的路径
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
[root@youxi1 conf.d]# vim /var/www/html/index.php
/var/www/html/index.html
[root@youxi1 conf.d]# vim /var/www/html/test/index.html
/var/www/html/test/index.html
[root@youxi1 conf.d]# systemctl restart httpd.service

  实验结果:

(2).通过不同的域名实现

  首先需要在域名管理系统中将两个域名解析的IP地址指向同一个。

[root@youxi1 conf.d]# vim test.conf  //新建一个配置文件
<VirtualHost *:9988>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html/  //指向的路径
ServerName www.youxi1.com
ErrorLog logs/www.youxi1.com-error_log
CustomLog logs/www.youxi1.com-access_log common
</VirtualHost>
<VirtualHost *:9988>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html/test/  //指向的路径
ServerName test.youxi1.com
ErrorLog logs/test.youxi1.com-error_log
CustomLog logs/test.youxi1.com-access_log common
</VirtualHost>
[root@youxi1 conf.d]# systemctl restart httpd.service

  由于我没有DNS服务器,所以修改hosts文件

[root@youxi1 conf.d]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.5.101 www.youxi1.com
192.168.5.101 test.youxi1.com

  Windows修改在C:\Windows\System32\drivers\etc目录下的hosts文件

192.168.5.101 www.youxi1.com
192.168.5.101 test.youxi1.com

  实验结果:

(3).通过不同的端口号实现

  修改/etc/httpd/conf/https.conf文件,添加监听端口

Listen 9988
Listen 9989

  接着再修改新建的test.conf

[root@youxi1 conf.d]# vim test.conf
<VirtualHost *:9988>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html/
ServerName www.youxi1.com
ErrorLog logs/www.youxi1.com-error_log
CustomLog logs/www.youxi1.com-access_log common
</VirtualHost>
<VirtualHost *:9989>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html/test/
ServerName www.youxi1.com
ErrorLog logs/www.youxi1.com-error_log
CustomLog logs/www.youxi1.com-access_log common
</VirtualHost>
[root@youxi1 conf.d]# systemctl restart httpd.service
[root@youxi1 conf.d]# vim /etc/hosts
192.168.5.101 www.youxi1.com

  Windows修改在C:\Windows\System32\drivers\etc目录下的hosts文件

192.168.5.101 www.youxi1.com

  实验结果:

Apache实现一台服务器上运行多个网站的更多相关文章

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

    Apache的配置文件一般放置在/etc/httpd/conf文件夹下,httpd.conf是它的主配置文件,在进行配置时可以将虚拟主机的配置文件单独配置,如取名为vhost.conf,然后再http ...

  2. 如何在同一台服务器上安装多套通达OA

    本人最近研究了在同一服务器安装多套通达OA的方法:发现网上关于这个话题的文章比较少,于是录制成视频,在此发布,希望对有这方面需求的朋友有所帮助: http://blog.163.com/zhuwei_ ...

  3. Capistrano:自动完成多台服务器上新版本的同步更新,包括数据库的改变

    https://baike.baidu.com/item/Capistrano/6844928?fr=aladdin   Capistrano是一种在多台服务器上运行脚本的开源工具,它主要用于部署we ...

  4. Linux课程---16、apache虚拟主机设置(如何在一台服务器上配置三个域名)

    Linux课程---16.apache虚拟主机设置(如何在一台服务器上配置三个域名) 一.总结 一句话总结:有三个网站www.lampym.com,bbs.lampym.com,mysql.lampy ...

  5. 在多台服务器上简单实现Redis的数据主从复制(3)(转载)

    转载地址:http://www.cnblogs.com/liping13599168/archive/2011/04/14/2016226.html Redis的主从复制功能非常强大,一个master ...

  6. 在多台服务器上简单实现Redis的数据主从复制

          Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面我演示下怎样在多台服务器上 ...

  7. 一台服务器上同时启动多个 Tomcat

    在同一台服务器上启动多个 Tomcat 服务,需要修改 conf/server.xml文件里的三个部分,如下: 1.修改Http访问端口(默认为8080端口) <Connector port=& ...

  8. Linux 笔记 #03# 在 Debian远程服务器上运行 Java socket程序

    我试图做什么:把我的破代码放到服务器上运行,并成功与客户端进行 socket通信. 预备环境:刚安装好 MySQL 和 JVM 的 Linux远程服务器(Debian 8)一台. 主要有如下几个步骤: ...

  9. 在同一台服务器上启动多个 FreeSWITCH 实例

    有时候,需要用到多个FreeSWITCH进行测试,或者需要在一台服务器上部署多个“不兼容”的系统.我们在这一节探讨一下怎么做. 背景故事 几年前我还在Idapted工作的时候,由于需要连接Skype及 ...

随机推荐

  1. C# 设置鼠标光标位置

    C# 设置鼠标光标位置 using System.Drawing; using System.Runtime.InteropServices; namespace ZB.QueueSys.Common ...

  2. linux /etc/shadow文件详解

    struct spwd { char *sp_namp; /* user login name */ char *sp_pwdp; /* encrypted password */ long int ...

  3. sh make.sh fatal error: opencv2/opencv.hpp: No such file or directory

    问题: sh make.sh fatal error: opencv2/opencv.hpp: No such file or directory 解决: sudo apt-get install l ...

  4. rsync 应用总结

    rysnc server端 1.vim /etcrsyncd.conf (用户rsync,目录,模块,非系统虚拟用户及密码文件) 2.创建共享目录 /data/www/{www,bbs,blog} 3 ...

  5. java学习笔记15-封装

    把属性(成员变量)设置为私有(private),把方法设置为共有的(public),假如外界想要得到或者改变某个属性,只能通过方法来办到,这其实是封装的思想之一. 新建一个Student类,这个类有几 ...

  6. shiro框架的UsernamePasswordToken与对应Realm中的AuthenticationToken的一点比较(转)

    这里以简单的登陆为例子 控制器对应的登陆方法: @RequestMapping(value = "/login", method = RequestMethod.GET) publ ...

  7. [Functional Programming] Using ComposeK for both get State and modify State

    We have State like this: const state = { cards: [ { id: "green-square", color: "green ...

  8. The websites related Laravel 相关网站(内容将不断更新)

    https://laraveldaily.com/ 文章内容质量很高

  9. SpingMVC入门

    Springmvc简介及配置 1. 什么是springMVC? Spring Web MVC是一种基于Java的实现了MVC设计模式的.请求驱动类型的.轻量级Web框架. 2. SpringMVC处理 ...

  10. leetcode解题报告(8):Remove Element

    描述 Given an array and a value, remove all instances of that value in place and return the new length ...