CentOS7配置httpd虚拟主机教程

 更新时间:2017年06月13日 15:06:49   作者:Vathe  
这篇文章主要为大家详细介绍了CentOS7配置httpd虚拟主机教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
如果你想靠AI翻身,你先需要一个靠谱的工具!

本实验旨在CentOS7系统中,httpd-2.4配置两台虚拟主机,主要有以下要求:

(1) 提供两个基于名称的虚拟主机:

  www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1/error_log,访问日志为/var/log/httpd/www1/access_log;
  www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2/error_log,访问日志为/var/log/httpd/www2/access_log;

(2) 通过www1.stuX.com/server-status输出其状态信息,且要求只允许提供账号的用户访问;

(3) www1不允许192.168.1.0/24网络中的主机访问; 

查看系统版本和httpd版本

1
2
3
4
5
[root@host ~]$httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:  Nov 14 2016 18:04:44
[root@host ~]$cat /etc/centos-release
CentOS Linux release 7.3.1611 (Core)

启动httpd,测试能否正常运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@host ~]$systemctl start httpd.service
[root@host ~]$systemctl status httpd.service
● httpd.service - The Apache HTTP Server
  Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Active: active (running) since Thu 2017-06-01 03:03:12 CST; 5s ago           #  active 表示正常运行
   Docs: man:httpd(8)
      man:apachectl(8)
 Process: 6473 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 6485 (httpd)
  Status: "Processing requests..."
  CGroup: /system.slice/httpd.service
      ├─6485 /usr/sbin/httpd -DFOREGROUND
      ├─6486 /usr/sbin/httpd -DFOREGROUND
      ├─6487 /usr/sbin/httpd -DFOREGROUND
      ├─6489 /usr/sbin/httpd -DFOREGROUND
      ├─6490 /usr/sbin/httpd -DFOREGROUND
      └─6572 /usr/sbin/httpd -DFOREGROUND
 
Jun 01 03:03:11 host systemd[1]: Starting The Apache HTTP Server...
Jun 01 03:03:12 host systemd[1]: Started The Apache HTTP Server.

使用curl命令访问

1
2
3
4
5
6
7
8
9
10
11
12
[root@host ~]$ip a show ens38  # 查看ip
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  link/ether 00:0c:29:dc:18:5f brd ff:ff:ff:ff:ff:ff
  inet 192.168.55.128/24 brd 192.168.55.255 scope global dynamic ens38
    valid_lft 1752sec preferred_lft 1752sec
  inet6 fe80::20c:29ff:fedc:185f/64 scope link
    valid_lft forever preferred_lft forever
[root@host ~]$curl http://192.168.55.128    # 访问
<!DOCTYPE>
<h1>
  CentOS 7.3
</h1>

创建指定文件目录

1
2
3
4
[root@host conf.d]$mkdir -pv /web/vhosts/www1
[root@host conf.d]$mkdir -pv /web/vhosts/www2
[root@host conf.d]$mkdir -pv /var/log/httpd/www2
[root@host conf.d]$mkdir -pv /var/log/httpd/www1

根据要求填写虚拟主机配置信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# path /etc/httpd/conf.d/vir.conf   # 配置文件全路径
#virtual host 1    # 虚拟主机1的配置
<VirtualHost 192.168.55.128:80>
  ErrorLog "/var/log/httpd/www1/error_log"
  CustomLog "/var/log/httpd/www1/access_log" combined
  <Location /server-status>
    SetHandler server-status
  </Location>
  <Directory /web/vhosts/www1>
    <RequireAll>
    Require all granted
    Require not ip 192.168.1
    </RequireAll>
  </Directory>
</VirtualHost>
# virtual host 2   # 虚拟主机2的配置
<VirtualHost 192.168.55.128:80>
  ServerName www2.stuX.com
  DocumentRoot "/web/vhosts/www2"
  ErrorLog "/var/log/httpd/www2/error_log"
  CustomLog "/var/log/httpd/www2/access_log" combined
  <Directory /web/vhosts/www2>
    <RequireAll>
      Require all granted
    </RequireAll>
  </Directory>
</VirtualHost>

创建www1和www2的index页面

1
2
3
4
5
6
[root@host conf.d]$cat /web/vhosts/www1/index.html
welcome to www1
thank you
[root@host conf.d]$cat /web/vhosts/www2/index.html
welcome to www2
thank you

重载httpd配置文件

1
2
3
[root@host conf.d]$httpd -t
Syntax OK
[root@host conf.d]$systemctl reload httpd.service

 修改客户端主机的hosts文件,以便能解析域名

hosts在windows环境下的路径为C:\Windows\System32\drivers\etc。在该文件中添加两行

192.168.55.128 www1.stuX.com
192.168.55.128 www2.stuX.com

访问结果

图1、访问www1站点

图2、访问www2站点

图3、查看www1站点的访问状态——正常

图4、查看www2站点的访问状态错误

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

相关文章

  • Linux下RPM打包制作过程

    Linux下RPM打包制作过程

    这篇文章主要介绍了Linux下RPM打包制作的详细流程,并分享了相关实例代码,一起学习下。
    2018-02-02
  • linux下使用Apache+php实现留言板功能的网站

    linux下使用Apache+php实现留言板功能的网站

    在linux下使用apache+php实现留言板功能的网站,首先需要我们的linux服务器上安装apache和php,然后结合其他操作实现此功能,下文小编给大家介绍的非常详细,感兴趣的朋友一起学习吧
    2016-10-10
  • Linux上查看用户创建日期的几种方法总结

    Linux上查看用户创建日期的几种方法总结

    在Linux系统中,如何找到用户创建的时间呢?下面这篇文章就来给大家介绍了关于在Linux上如何查看用户创建日期的几种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-05-05
  • linux命令详解之rpm命令参数使用方法

    linux命令详解之rpm命令参数使用方法

    这篇文章主要介绍了linux中rpm命令参数的使用方法,需要的朋友可以参考下
    2014-02-02
  • Ubuntu 20.04双拼输入法的安装步骤

    Ubuntu 20.04双拼输入法的安装步骤

    这篇文章主要介绍了Ubuntu 20.04双拼输入法的安装步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • linux查看文件系统块大小与内存页大小的简单方法

    linux查看文件系统块大小与内存页大小的简单方法

    下面小编就为大家带来一篇linux查看文件系统块大小与内存页大小的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Linux启动与停止spring boot工程的脚本示例

    Linux启动与停止spring boot工程的脚本示例

    这篇文章主要给大家介绍了关于Linux启动与停止spring boot工程的脚本的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • centos配置ssh免密码登录后仍要输入密码的解决方法

    centos配置ssh免密码登录后仍要输入密码的解决方法

    这篇文章主要给大家介绍了关于centos配置ssh免密码登录后仍要输入密码的解决方法,需要的朋友可以参考下
    2017-08-08
  • 详解如何实现Linux服务Crash后自动重启

    详解如何实现Linux服务Crash后自动重启

    近期碰到了一个 Linux Systemd 服务 Crash, Crash 后需要人工介入重启. 那么, 有没有办法如何实现 Linux 服务 Crash 后自动重启,下面就来和大家分享一下
    2023-08-08
  • Linux中改变文件权限的chmod命令详析

    Linux中改变文件权限的chmod命令详析

    在 Linux 命令中,chmod用于修改文件或者目录的权限。下面这篇文章主要给大家介绍了关于Linux中改变文件权限的chmod命令的相关资料,文中通过示例代码介绍的非常详细,需要的朋友们下面来一学习学习吧
    2018-06-06

最新评论