Ubuntu18.04下使用Apache2.4.29基于域名来创建虚拟主机

1、Apache2的配置文件

<1>Ubuntu中Apache的配置文件是//etc/apache2/apache2.conf。Apache在启动时会找到这个文件并自动读取该文件中的配置信息,而其他配置文件则是通过include指令包含进来的,在apache2.conf 中可以看到这些引入行。当然,也可以将所有的配置全放在apache2.conf或者httpd.conf或者其他文件中,Apache这样划分是一种比较好的习惯。
<2>在/etc/apache2目录下,发现了sites-enabled目录,然而还有一个sites-available目录,那么这两个目录到底有什么作用呢?其实,sites-available这个目录包含Apache虚拟主机的配置文件。虚拟主机允许Apache配置多个站点并为每个站点配置不同的参数。而sites-enabled目录的作用是持有/etc/apache2/sites-available目录下文件的链接。当Apache重启后,该目录中包含的站点将会被激活。如果apache上配置了多个虚拟机,每个虚拟机的配置文件都放在sites-available下,那么对于虚拟主机的停用,启动就是非常方便了,操作某个虚拟主机就不用动配置文件了。
<3>在/etc/apache2下还用类似于sites-enabled和sites-available两个目录的mods-available和mods-enabled两个目录,那么这两个目录有何作用呢?其实类似于sites-enabled和sites-available,mods-available这个目录包含模块和模块配置文件,不是所有的模块都有配置文件。比如当apt-get install php5安装了php模块,在这两个目录中就有了php5.load、php5.conf和指向这两个文件的链接。这对于apache开启停用某个模块是非常方便的。
<4>在/etc/apache2目录下,还有一个文件ports.conf,这个文件配置Apache监听的端口
<5>在Ubuntu缺省安装的目录有与其他相比有一点不同。在ubuntu中module和 virtual host的配置都有两个目录,一个是available,一个是enabled,available目录是存放有效的内容,但不起作用,只有用ln 连到enabled过去才可以起作用。

2、什么是虚拟主机?

所谓虚拟主机,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW、FTP、E-mail等)功能。再简单的说,就是同一台服务器可以同时处理超过一个域名(domain)。假设www.example1.com和www.example2.com两个域名都指向同一个服务器,而web服务器又支持虚拟主机,那么www.example1.com和www.example2.com可以访问到同一服务器上不同的web空间。

3、Apache2的安装

<1>安装Apache2

sudo apt-get install apache2
 
 

    <2>安装完成后,可以查看apache2的版本,输入命令,可以看到apache2的版本如下:

    apache2 -V
    

    在这里插入图片描述

    <3>Apache2安装完成后,在自己的Ubuntu上访问localhost,就可以访问到如下界面:

    这是因为apache2的/etc/apache2/sites-avaliable下面有一个000-default.conf,vim打开此配置文件之后:

    NameVirtualHost *
    <VirtualHost *>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/
     
     
    • 说明web文档默认存放在/var/www下,果然在下面有一个index.html,就是我们刚才显示的内容。
      <4>访问到如上内容,说明apache2安装成功了,我们开始建虚拟主机了,虚拟主机可以基于三种方式来建 :域名,端口,ip地址。下面详细域名这种方法。

      4、基于域名来新建虚拟主机

      <1>自己取好域名,将其添加到/etc/hosts文件中:

      第三行是我自己添加的,ip是我的Ubuntu的ip,后面的域名是我随便起的。
      <2>创建自己的项目目录,默认的目录是/var/www,你也可以在这个下面建,也可以自己新建。我选择自己新建目录,并且自己随便写了一个index.html放入

      <3>进入/etc/apache2/sites-available新建my_test01.conf,我们可以复制000.default.conf,然后修改主要信息就可以了:添加Servername,修改DocumentRoot。

      <4>进入/etc/apache2/sites-enable建立软连接:

      <5>修改/etc/apache2.conf,赋予访问该目录的权限:

      <6>重启apache2服务:

      sudo service apache2 restart
         
         

      如果重启失败。要看看log,然后去修改相应的行。
      <7>访问测试:

      <8>分析一下过程:访问域名,首先会因为hosts文件去访问映射的ubuntu的ip地址,又因为安装了apache2,访问ubuntu的ip又会访问apache2服务器,服务器上的配置文件中分析到这个域名是访问的项目目录下的html文件,所以结果是这样。

      • 1
        点赞
      • 0
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值