设为首页 收藏本站
查看: 1736|回复: 0

[经验分享] apache虚拟主机三种设置

[复制链接]

尚未签到

发表于 2018-11-24 13:00:08 | 显示全部楼层 |阅读模式
      在不考虑虚拟的情况下,Apache可以提供一个站点,提供一个网站的运行平台给我们,但是它有不是站点,它只是一个运行的服务器,这个服务器我们通常叫它Host,有的时候称它为物理主机。
一、虚拟主机概念
什么情况下使用虚拟主机呢?什么又是虚拟主机呢?
我们要想实现一个web站点,而且能够在互联网上被访问,首先它再能运行在操作系统,而且这个操作系统还要运行在物理主机上(第一它是一个主机)。在互联网上能够被访问,那我们需要一个主机,需要一个IP地址,需要一个时时在线的服务器,这需要多少资源?对众多小型站点来讲或者说对某种需求来讲,有可能都用不到服务器,也就是每天就10个人左右访问,只是需要我们在线而已,如果我们就为这一点点的需求就投入重大的资源的话是非常浪费的。我们就期望能够像我们使用虚拟机一样,虚拟的OS一样或虚拟的PC一样,能够在一台物理主机上虚拟出来多个可以同时运行的站点或者我们把它称为主机因此就把它称为虚拟主机。

Apache:
  
    中心主机【提示:不能同时使用】
      虚拟主机
         基于IP
             IP1:80(端口相同,IP地址不同)
         基于端口
             IP:80 (IP地址相同,端口号不同)
          基于域名
             IP:80(IP地址相同,douan主机名不同
二、安装httpd
    我们首先要安装yum库,我前面也重点讲了下如何配置yum库,这里我就不从服务器上下载了,我在这里就挂载光盘吧,这样没有看到前面yum库是如何配置的朋友们,这里也可以学一下。主要是在/etc/yum.repos.d/server.repo文件中填入配置文件(蓝色的字就是配置文件的内容)。
[root@localhost ~] # mkdir /mnt/cdrom  
[root@localhost ~] # mount /dev/cdrom /mnt/cdrom
[root@localhost ~] # vim /etc/yum.repos.d/server.repo
[base]  
name=server
baseurl=file:///mnt/cdrom/Server  
enabled=1
gpgcheck=0  
这时候我们就可以安装httpd了。
[root@localhost ~ ] # yum install httpd
三、基于IP地址的虚拟主机
    我们要创建虚拟主机首先要做的就是取消中心主机。我们要打开主配置文件,找到DocumentRoot给注释掉【提示:不懂查看(六)关系图】。
[root@localhost conf]# vim /etc/httpd/conf/httpd.conf


   DSC0000.png
然后我们就在下面定义虚拟主机,为了管理方便我们也可以在/etc/httpd/conf.d/下面创建一个文件virtual.conf进行虚拟主机定义。我们使用httpd –t 可以检查配置文件的语法。
[root@localhost ~]# vim /etc/httpd/conf.d/virtual.conf

        ServerName hello.shuaige.com
        DocumentRoot "/www/shuaige.com"


        ServerName hi.a.org
        DocumentRoot "/www/a.org"

这时候我们还要在www下面创建两个目录,在里面各提供一个主页面,主页内容为蓝色的字。
[root@localhost ~]# mkdir -pv /www/{shuaige.com,a.org}
[root@localhost ~]# cd /www/shuaige.com
[root@localhost shuaige.com]# vim index.html
shuaige
shuaige.com
[root@localhost a.org]# vim index.html
A
a.org
  注意这个时候我们根本就没有两个地址,所以这个时候我们要给第一个地址一个别名。
   DSC0001.png
    我们重启一下httpd然后用浏览器测试一下。【提示:在测试之前一定要将selinux关闭】。下面的图片就是我们的测试结果。
[root@localhost a.org]# service httpd restart
[root@localhost conf.d]# setenforce 0


   DSC0002.png
四、基于端口的虚拟主机
    在这里我们是不删除基于IP的地址又继续基于端口。我们这里还要进虚拟主机定义的那个文件中进行配置提示:蓝色的内容只是添加的内容)【提示:不懂查看(六)关系图
[root@localhost ~]# vim /etc/httpd/conf.d/virtual.conf

        ServerName hehe.b.net
        DocumentRoot "/www/b.net"

下面我们就要在/www/下面创建一个目录b.net。然后在里面创建一个主页面,内容为蓝色部分。
[root@localhost www]# mkdir b.net
[root@localhost www]# vim b.net/index.html
B
b.net
    这里我们不仅要配置这些,还要去主配置文件中将监听的端口加上去。然后重新启动httpd后,进行测试。
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf


   DSC0003.png


   DSC0004.png
五、基于域名的虚拟主机
    这里我们还要去虚拟主机定义的那个文件中进行配置。基于主机名的时候我们必须要说明在哪个地址上使用。【提示:不懂查看(六)关系图
[root@localhost ~]# vim /etc/httpd/conf.d/virtual.conf
NameVirtualHost 172.16.58.12:80

        ServerName kan.c.gov
        DocumentRoot "/www/c.gov"

    下面我们就要在/www/下面创建一个目录c.gov。然后在里面创建一个主页面,内容为蓝色部分。然后重启httpd。但是我们这一次要在本机测试的话,本机要能够解析这两个主机名,最简单的就是我们要编辑本机的hosts文件(图中有路径),如果里面没有找到的话,一定是隐藏了。去属性里面改为显示就行了。
[root@localhost www]# mkdir c.gov
[root@localhost www]# vim c.gov/index.html
C
c.gov
[root@localhost a.org]# service httpd restart


   DSC0005.png
在里面添加这两行,后就可以重试了。
172.16.58.12      hi.a.org
172.16.58.12     kan.c.gov


   DSC0006.png
六、关系图
   我这里将/etc/httpd/conf.d/virtual.conf里面的内容剪切出来做了一幅图,这样更形象的表现出,谁与谁之间的关系是基于什么来验证的。 DSC0007.png
七、建立各自日志信息
我们这里就以第一个为例讲一下,我们要在定义虚拟主机文件中编辑一下。
[root@localhost ~]# vim /etc/httpd/conf.d/virtual.conf

   DSC0008.png
    然后我们要到所对应的位置创建目录文件。例如:我们到/var/log/httpd目录下面创建shuaige.com目录,再在这个目录下创建access_log和combined两个文件。然后我们重启httpd后,再进行测试,测试后我们在查看一下access_log文件,里面就有信息了。
[root@localhost ~]# cd /var/log/httpd/shuaige.com
[root@localhost shuaige.com]# touch access_log
[root@localhost shuaige.com]# touch combined


   DSC0009.png
  附加:
      如果有的朋友想知道那些访问日志和错误日志信息都表示什么意思,例如:我们要查找combind中出现的句子是什么意思,可以进/etc/httpd/conf/httpd.conf文件中。




  • 查找LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 都什么意思?   
  •      %h:客户端地址(远程主机地址)
  •      %l:远端主机上的登录名称
  •      %u:登录网站的时候登录用户
  •      %t:日志事件产生事件
  •      %\“:\转译,显示“本身的意思
  •      %r:请求报文第一行 (方法、资源、版本号)
  •      %>s:%s状态码,最后一次请求的对应的状态码。
  •      %b:响应报文的大小
  •      %{Referer}i:表示从哪个页面上来的
  •      %{User-Agent}i:用户浏览器类型





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639054-1-1.html 上篇帖子: Apache 中文目录或文件乱码 下篇帖子: linux下apache
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表