当前位置:

Apache配置虚拟主机三种方式保姆级教学

访客 2024-02-18 1202 0

由于本人很笨,第一次学步骤比较多。想学的可以耐下心来看、来学。

实验环境:ContOS7,Apache服务器

在ContOS中可以运行一下代码直接下载

[root@localhost~]#yuminstall-yhttpd

下载完可以查看下载的内容

[root@localhost~]#rpm-qlhttpd|less

配置Selinux文件

[root@localhost~]#vim/etc/selinux/config

找到并改成下面的

SELINUX=disabled

SELINUXTYPE=targeted

关闭防火墙

  • [root@localhost~]#systemctlstopfirewalld
  • [root@localhost~]#systemctldisablefirewalld
  • Removedsymlink/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  • Removedsymlink/etc/systemd/system/basic.target.wants/firewalld.service.
  • 启动httpd服务,访问测试

    [root@localhost~]#systemctlstarthttpd

    然后在浏览器输入你CentOS的ip地址,出现下面的页面说明下载完成。

    一:基于多IP地址方式

    1.创建配置文件

  • [root@localhost~]#cd/etc/httpd/conf.d/
  • [root@localhostconf.d]#vimvirtual.conf
  • 在里面将下面代码写入

    <VirtualHost192.168.253.128:80>
    ServerNamea.com
    DocumentRoot"/www/a.com/"
    </VirtualHost>

    <VirtualHost192.168.253.129:80>
    ServerNameb.com
    DocumentRoot"/www/b.com/"
    </VirtualHost>


    2.网卡绑定多个IP(这里我的网卡名是ens33)

  • [root@localhostconf.d]#ipaddradd192.168.81.137devens33
  • [root@localhostconf.d]#ipadd
  • 1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWN
  • link/loopback00:00:00:00:00:00brd00:00:00:00:00:00
  • inet127.0.0.1/8scopehostlo
  • valid_lftforeverpreferred_lftforever
  • inet6::1/128scopehost
  • valid_lftforeverpreferred_lftforever
  • 2:eno33:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000
  • link/ether00:0c:29:5c:ff:91brdff:ff:ff:ff:ff:ff
  • inet192.168.81.136/24brd192.168.253.255scopeglobaldynamiceno16777736
  • valid_lft1542secpreferred_lft1542sec
  • inet192.168.81.137/32scopeglobaleno16777736
  • valid_lftforeverpreferred_lftforever
  • inet6fe80::20c:29ff:fe5c:ff91/64scopelink
  • valid_lftforeverpreferred_lftforever
  • 3.创建虚拟主机a.com和b.com的主页面

  • [root@localhostconf.d]#mkdir-pv/www/{a.com,b.com}
  • mkdir:已创建目录"/www"
  • mkdir:已创建目录"/www/a.com"
  • mkdir:已创建目录"/www/b.com"
  • [root@localhostconf.d]#vim/www/a.com/index.html

    进入/a.com/index.html,将下面代码写入

    <h1>Hello,a.com</h1>

    [root@localhostconf.d]#vim/www/b.com/index.html

    进入/b.com/index.html,将下面代码写入

    <h1>Hello,b.com</h1>

    4.检查配置问价是否正常

  • [root@localhostconf.d]#httpd-t
  • AH00558:httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,usinglocalhost.localdomain.Setthe'ServerName'directivegloballytosuppressthismessage
  • SyntaxOK
  • 5.重启httpd服务

    [root@localhostconf.d]#systemctlrestarthttpd

    6.打开浏览器,查看结果

    二、基于多端口方式

    1.创建配置文件

  • [root@localhost~]#cd/etc/httpd/conf.d/
  • [root@localhostconf.d]#vimvirtual.conf
  • 将下面代码写入(当然里面有的就不写入了)

    <VirtualHost192.168.253.128:80>
    ServerNamea.com
    DocumentRoot"/www/a.com/"
    </VirtualHost>

    <VirtualHost192.168.253.128:8080>
    ServerNameb.com
    DocumentRoot"/www/b.com/"
    </VirtualHost>
    2.修改httpd主配置文件

    [root@localhostconf.d]#vim/etc/httpd/conf/httpd.conf

    在里面找到Listen80,然后在下面写入一行Listen8080

    3.创建虚拟主机a.com和b.com的主页面(前面已经创建过了就不用重复创建)

    4.检查配置文件

  • [root@localhostconf.d]#httpd-t
  • AH00558:httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,usinglocalhost.localdomain.Setthe'ServerName'directivegloballytosuppressthismessage
  • SyntaxOK
  • 5.重启httpd服务

    [root@localhostconf.d]#systemctlrestarthttpd

    6.打开浏览器,查看结果

    三.基于域名的方式

    1.创建配置文件

  • [root@localhost~]#cd/etc/httpd/conf.d/
  • [root@localhostconf.d]#vimvirtual.conf
  • 写入下面的代码

    <VirtualHost*:80>
    ServerNamea.com
    DocumentRoot"/www/a.com/"
    </VirtualHost>

    <VirtualHost*:80>
    ServerNameb.com
    DocumentRoot"/www/b.com/"
    </VirtualHost>
    2.修改物理主机hosts文件(C:\Windows\System32\drivers\etc),这里是因为物理机去访问Apache服务器

    在hosts文件里面添加

    192.168.81.136a.com

    192.168.81.136b.com

    3.物理主机ping域名测试

    4.创建虚拟主机a.com和b.com的主页面(这里前面已经创建过了就不重复了)

    5.检查配置文件

  • [root@localhostconf.d]#httpd-t
  • AH00558:httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,usinglocalhost.localdomain.Setthe'ServerName'directivegloballytosuppressthismessage
  • SyntaxOK
  • 6.重启httpd服务

    [root@localhostconf.d]#systemctlrestarthttpd

    7.打开浏览器,查看结果

    发表评论

    • 评论列表
    还没有人评论,快来抢沙发吧~