一、web服务器的简介

    网页服务器(Web server)一词有两个意思:
    一台负责提供网页的电脑,主要是各种编程语言构建而成,通过HTTP协议传给客户端(一般是指网页浏览器)。
    一个提供网页的服务器程序

Linux中web服务器的搭建与配置_linuxweb

Linux中web服务器的搭建与配置_腾讯云_02

二、web服务器的简单搭建

1、安装一个可以提供web服务的软件

yum -y install httpd

Linux中web服务器的搭建与配置_腾讯云_03

2、 启动httpd服务

systemctl start httpd

Linux中web服务器的搭建与配置_腾讯云_04

3、进入主配置文件

vim /etc/httpd/conf/httpd.conf

Linux中web服务器的搭建与配置_服务_05

Linux中web服务器的搭建与配置_腾讯云_06

    在此范围内添加或删除设置,为了方便编写,编辑了一个子配置文件/etc/httpd/conf.d/httpd-vhosts.conf

Linux中web服务器的搭建与配置_服务_07

4、 编辑子配置文件

vim /etc/httpd/conf.d/httpd-vhosts.conf  此路径必为conf.d/*.conf (意:为.conf 后缀命名)

Linux中web服务器的搭建与配置_linuxweb_08

Linux中web服务器的搭建与配置_腾讯云_09

systemctl restart httpd   重启服务

5、 编辑页面测试文件

    在web服务中默认存放网页文件的路径:/var/www/html
    默认网页文件名字:index.html

Linux中web服务器的搭建与配置_linuxweb_10

Linux中web服务器的搭建与配置_腾讯云_11

cat /var/www/html/index.html   查看index.html 文件中的内容

Linux中web服务器的搭建与配置_腾讯云_12

6、 浏览器测试

ifconfig ens33  查看ens33网卡的地址

Linux中web服务器的搭建与配置_腾讯云_13

    在浏览器中输入地址,即可查看内容

Linux中web服务器的搭建与配置_腾讯云_14

三、web服务器的进一步搭建与配置

    实验一、 实现基于同台机器ip的访问控制

1、选择一个IP地址,此地址将成为被禁止访问的地址(选择了本虚拟机中的其中一个IP )

ifconfig ens33   查看ens33网卡的地址

Linux中web服务器的搭建与配置_服务_15

2、 编辑子配置文件

vim /etc/httpd/conf.d/httpd-vhosts.conf    vim 编辑

Linux中web服务器的搭建与配置_linuxweb_16

    在配置文件中写入禁止的ip 192.168.230.131

Linux中web服务器的搭建与配置_linuxweb_17

    以后的实验,只要编辑过配置文件,保存退出后都要重启服务

systemctl restart httpd

3、 客户端测试

Linux中web服务器的搭建与配置_腾讯云_18

    实验二、实现基于不同机器ip的访问控制

1、 配置子配置文件

Linux中web服务器的搭建与配置_腾讯云_19

Linux中web服务器的搭建与配置_linuxweb_20

2、 客户端测试

curl  172.18.251.86  访问服务器

 Linux中web服务器的搭建与配置_配置_21

    实验三、 实现基于不同机器ip的访问控制

1、 在此实验中设置为白名单(标签可省略)

Linux中web服务器的搭建与配置_服务_22

Linux中web服务器的搭建与配置_配置_23

    省略后的效果如图:

Linux中web服务器的搭建与配置_腾讯云_24

2、 测试

Linux中web服务器的搭建与配置_linuxweb_25

Linux中web服务器的搭建与配置_配置_26

    实验四、 了解index, followsymlinks

1、 删除 /var/www/html/index.html 文件,也可改变文件名

Linux中web服务器的搭建与配置_腾讯云_27

2、 浏览器测试

Linux中web服务器的搭建与配置_腾讯云_28

3、 编辑配置文件

Linux中web服务器的搭建与配置_腾讯云_29

    错误举例:

Linux中web服务器的搭建与配置_腾讯云_30

httpd -t  语法检测   表示第4行有错误

Linux中web服务器的搭建与配置_linuxweb_31

    再次编辑配置文件

Linux中web服务器的搭建与配置_服务_32

    再次语法检测   OK

Linux中web服务器的搭建与配置_腾讯云_33

4、  重启服务

Linux中web服务器的搭建与配置_配置_34

5、  浏览器测试  (不再列出列表)

Linux中web服务器的搭建与配置_服务_35

    实验五、 实现组

1、 编辑配置文件

Linux中web服务器的搭建与配置_腾讯云_36

Linux中web服务器的搭建与配置_linuxweb_37

    重启服务

2、 实验环境创建

useradd xiaochen    创建用户
useradd xiaofan

Linux中web服务器的搭建与配置_配置_38

htpasswd -b -c -m /etc/httpd/conf/.htpasswd xiaochen centos   实质为添加web用户
htpasswd -b -m /etc/httpd/conf/.htpasswd xiaofan centos

Linux中web服务器的搭建与配置_服务_39

3、 编辑配置文件中设置的组文件与密码文件(隐藏文件)

Linux中web服务器的搭建与配置_linuxweb_40

    内容如下:

Linux中web服务器的搭建与配置_配置_41

cat .htgroup   查看文件内容

Linux中web服务器的搭建与配置_腾讯云_42

chmod  774 .htgroup    改变文件的权限,让其他人有读权限

Linux中web服务器的搭建与配置_服务_43

    编辑密码文件

Linux中web服务器的搭建与配置_配置_44

Linux中web服务器的搭建与配置_服务_45

4、打开【运行】,win+r  ,输入cmd

Linux中web服务器的搭建与配置_腾讯云_46

    输入以上命令,即可看到以下窗口

Linux中web服务器的搭建与配置_配置_47

5、 浏览器测试

Linux中web服务器的搭建与配置_linuxweb_48

Linux中web服务器的搭建与配置_服务_49

    成功!…^.^…

Linux中web服务器的搭建与配置_配置_50

    实验六、 虚拟主机

基于不同端口的虚拟主机

1、 编译配置文件

Linux中web服务器的搭建与配置_服务_51

Linux中web服务器的搭建与配置_腾讯云_52

    重启服务

2、 编写网页文件

Linux中web服务器的搭建与配置_腾讯云_53

Linux中web服务器的搭建与配置_配置_54

Linux中web服务器的搭建与配置_配置_55

Linux中web服务器的搭建与配置_linuxweb_56

3、 改变权限    

setfacl -m u:apache:rwx /app/chen*     也可设置特殊权限

Linux中web服务器的搭建与配置_服务_57

4、 浏览器测试

Linux中web服务器的搭建与配置_linuxweb_58

Linux中web服务器的搭建与配置_服务_59

基于不同ip的虚拟主机

1、 编辑配置文件

Linux中web服务器的搭建与配置_服务_60

Linux中web服务器的搭建与配置_配置_61

    重启服务

2、 为ens34 网卡设置多个ip

Linux中web服务器的搭建与配置_配置_62

ifconfig  查看IP信息

Linux中web服务器的搭建与配置_配置_63

基于不同域名的虚拟主机

1、 编译配置文件

Linux中web服务器的搭建与配置_配置_64

Linux中web服务器的搭建与配置_腾讯云_65

    重启服务

2、 打开【运行】,win+r  ,输入cmd

Linux中web服务器的搭建与配置_腾讯云_46

Linux中web服务器的搭建与配置_linuxweb_67

3、 浏览器测试

Linux中web服务器的搭建与配置_服务_68

Linux中web服务器的搭建与配置_linuxweb_69

四、 小总结

 httpd的常用的功能特性:

    支持路径别名:alias 
    支持用户认证:基本认证和摘要认证authentication 
    支持虚拟主机:virtual host 在一个物理主机上提供多个站点 
    支持负载均衡:是反向代理的一个子特性 
    支持用户站点:当前用户都可以在自己的家目录下创建自己的站点  
    支持CGI:Common Gateway Interface 通用网关接口