Linux中HTTP服务的配置

一.WEB服务的概念

WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 Web服务器是在运行在物理服务器上的一个程序,它永久地等待客户端(主要是浏览器,比如Chrome,Firefox等)发送请求。当收到请求之后,它会生成相应的响应并将其返回至客户端。Web服务器通过HTTP协议与客户端通信,因此也被称为HTTP服务器。

http服务可以让我们通过域名或者ip去访问不同的信息

二.WEB服务原理

在这里插入图片描述
Web服务器的工作原理一般可分成如下4个步骤:

  • 建立连接:客户机通过TCP/IP协议建立到服务器的TCP连接
  • 请求过程:客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档
  • 应答过程:服务器向客户机发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理“动态内容”,并将处理得到的数据返回给客户端。由客户端解释HTML文档,在客户端屏幕上渲染图形结果
  • 关闭连接:客户机与服务器断开

三.配置HTTP服务

1.关闭防火墙,selinux

systemctl stop firewalld 
setenforce 0

2.apache的安装,配置,启动

Apache 配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,以及基于域名的虚拟主机配置(实际的生产环境都是以源码包进行编译后安装的,因此我们也采取同样的方式来安装)

首先我们来到Apache的官方网站
在这里插入图片描述
找到你想要下载的版本,并选择合适格式的压缩包进行下载
在这里插入图片描述
把鼠标停在你想要下载的压缩包上,单击右键,选择复制链接,然后使用wget命令将压缩包下载到Linux系统中,如下图
在这里插入图片描述
下载完成后进行解压

tar -xzvf httpd-2.4.37.tar.gz
cd /httpd-2.4.37/
./configure --prefix=/opt/apache/##指定安装位置编译
make
make install

3.基于IP的虚拟主机配置

(1).先在同一个网络接口上绑定两个虚拟的ip

ifconfig ens33:1 192.168.62.137 up
ifconfig ens33:2 192.168.62.138 up
ifconfig

在这里插入图片描述
(2).然后在/etc/hosts文件中设置ip及名称

echo '192.168.62.137 test1' >> /etc/hosts
echo '192.168.62.138 test2' >> /etc/hosts
ping test1
ping test2

(3).在apache的安装目录下建立虚拟主机存放网页的根目录,并创建首页文件index.html

mkdir /opt/apache/www/test1 -p
mkdir /opt/apache/www/test2 -p
echo 'test1,hello_world' > /opt/apache/www/test1/index.html
echo 'test2,hello_world' > /opt/apache/www/test2/index.html

(4).修改主配置文件,在最后添加如下代码

vi /opt/apache/conf/httpd.conf
Listen 192.168.62.137:80
Listen 192.168.62.138:80
Include /opt/apache/vhost/*.conf   #**(将下面vhost目录中的配置文件中也包含进来)**

在这里插入图片描述

(5).为了便于管理,我们在安装目录/opt/apache/下建立虚拟主机的目录vhost/

mkdir -p /opt/apache/vhost

然后在该目录下编辑虚拟主机的配置文件

vi /opt/apache/vhost/test1.conf  

在这里插入图片描述

vi /opt/apache/vhost/test2.conf

在这里插入图片描述
(6).编辑完配置文件后,就可以启动我们的apache了(注意要先切换到/opt/apache/bin/目录下,该目录下放的是可执行文件,因此要切到该目录才能使用下面的命令)
在这里插入图片描述

(7).测试

在浏览器中输入我们配置好的虚拟主机的ip,发现并没有出现我们之前编辑的index.html的内容,排查后发现是防火墙没有关
在这里插入图片描述
关闭防火墙后再试
在这里插入图片描述
在这里插入图片描述
成功!

4.基于端口的虚拟主机配置

如果服务器只有一个IP或需要通过不同的端口访问不同的虚拟主机,可以使用基于端口的虚拟主机配置

(1).我们使用一个新的虚拟ip来进行测试

ifconfig ens33:3 192.168.62.139 up

(2).然后在/etc/hosts文件中设置ip及名称

echo '192.168.62.139 test3' >> /etc/hosts
ping test3

(3).在apache的安装目录下建立虚拟主机存放网页的根目录,并创建首页文件index.html

mkdir /opt/apache/www/test3/8080 -p
mkdir /opt/apache/www/test3/8081 -p
echo '8080,hello_world' > /opt/apache/www/test3/8080/index.html
echo '8081,hello_world' > /opt/apache/www/test3/8081/index.html

(4).修改主配置文件,在最后添加如下代码

Listen 192.168.62.139:8080
Listen 192.168.62.139:8081
Include /opt/apache/vhost/*.conf   

在这里插入图片描述
(5).在vhost/中编辑虚拟主机的配置文件

vi /opt/apache/vhost/test3_8080.conf

在这里插入图片描述

vi /opt/apache/vhost/test3_8081.conf

在这里插入图片描述
(6).启动apache并测试

cd /opt/apache/bin/
./apachectl -t
./apachectl start

在这里插入图片描述
在这里插入图片描述
成功!

5.基于域名的虚拟主机配置

(1).使用一个新的虚拟ip来进行测试并在/etc/hosts文件中设置ip及名称

ifconfig ens33:4 192.168.62.140 up
vi /etc/hosts
echo '192.168.62.140 www.1314.com' >> /etc/hosts
echo '192.168.62.140 www.1324.com' >> /etc/hosts
ping www.1314.com
ping www.1324.com

(2).编辑主配置文件,在末尾添加如下内容

vi /opt/apache/conf/httpd.conf

在这里插入图片描述
(3).在apache的安装目录下建立虚拟主机存放网页的根目录,并创建首页文件index.html

mkdir www/1341.com -p
mkdir www/1342.com -p
echo '1314 i love you' > ../apache/www/1314.com/index.html
echo '1324 i love you,too' > ../apache/www/1324.com/index.html

(4).在vhost/中编辑虚拟主机的配置文件

vi /opt/apache/vhost/1314.com.conf

在这里插入图片描述

vi /opt/apache/vhost/1324.com.conf

在这里插入图片描述
(5).启动apache并测试

cd /opt/apache/bin/
./apachectl -t
./apachectl start

在这里插入图片描述
在这里插入图片描述
测试成功!

四.总结

在配置过程中会涉及到很多ip和文件,目录的路径,在做的时候一定要细心,有一个路径写错就会报错
可以使用export PATH=/opt/apache/bin:$PATH将apache下的二进制可执行文件导入环境变量,这样就不用每次都要先切换到bin/下才能进行操作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值