Linux--HTTP(WEB)服务

一、理论知识

1.WEB服务介绍

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

2.WEB服务原理

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

  • 建立连接:客户机通过TCP/IP协议建立到服务器的TCP连接
  • 请求过程:客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档
  • 应答过程:服务器向客户机发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器 会调用动态语言的解释引擎负责处理“动态内容”,并将处理得到的数据返回给客户端。由客户端解释 HTML文档,在客户端屏幕上渲染图形结果
  • 关闭连接:客户机与服务器断开
3.常见的WEB应用服务:
  • Apache(Apache HTTP Server)Apache软件基金会,本身只支持html即静态网页
  • IIS(Internet Information Services)微软
  • Tomcat Apache软件基金会,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩 展
  • Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器
4.WEB端口:默认端口 80

二、实际操作

虚拟机IP地址为192.168.192.133

1.关闭防火墙和selinux
   [root@mail ~]# systemctl stop firewalld
   [root@mail ~]# setenforce 0
2.apache的安装
   [root@mail ~]# yum install httpd -y
3.apache的配置、启动
   [root@mail ~]# vi /etc/httpd/conf/httpd.conf 
   [root@mail ~]# echo 'hello world' >> /var/www/html/index.html 
#启动apache
   [root@mail ~]# systemctl start httpd 
   [root@mail ~]# systemctl enable httpd
#在浏览器输入http://192.168.192.133,若能显示出hello word则成功,否则失败。
4.apache虚拟主机的配置

Apache 配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置(实际的生产环境都是以源码包进行编译后安装的,我们也采取同样的方式)
apache的下载安装
地址:http://httpd.apache.org/download.cgi,找到下面链接,复制
在这里插入图片描述
在虚拟机中下载、安装

   [root@mail ~]# wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.37.tar.gz
#不能安装时,需要进入到yum的挂载目录下Packages/目录查看apr-的相关包的资源,查看你要安装的包
   [root@mail ~]# vi /mnt/Packages/apr-  (按tab键)
   apr-1.4.8-3.el7.x86_64.rpm
   apr-devel-1.4.8-3.el7.x86_64.rpm
   apr-util-1.5.2-6.el7.x86_64.rpm
   apr-util-devel-1.5.2-6.el7.x86_64.rpm
#查看本机已安装的包:
   [root@mail ~]# rpm -qa | grep apr  
   apr-1.4.8-3.el7_4.1.x86_64
   apr-util-devel-1.5.2-6.el7.x86_64
   apr-util-1.5.2-6.el7.x86_64
   apr-devel-1.4.8-3.el7_4.1.x86_64
#解压
   [root@mail ~]# tar zxvf httpd-2.4.29.tar.gz 
   [root@mail ~]# yum install gcc -y   #下载gcc语言
   [root@mail ~]# mkdir /opt/apache
   [root@mail ~]# cd httpd-2.4.37
   [root@mail httpd-2.4.37]# ./configure --prefix=/opt/apache    #创建apache网页路径
   [root@mail ~]# make
   [root@mail ~]# make install 
  1. 基于IP的虚拟主机配置
    #使用同一个网络接口上绑定ip
#首先卸载httpd,避免httpd与apache冲突
 [root@mail ~]# yum remove httpd -y
#使用同一个网络接口绑定IP
#开启两个新的IP接口
 [root@mail ~]# ifconfig ens32:1 192.168.192.131 up 
 [root@mail ~]# ifconfig ens32:2 192.168.192.132 up 
 [root@mail ~]# ifconfig   #此时可以看到虚拟机额外多了两个IP
#在/etc/hosts文件中设置ip及名称
 [root@mail ~]# vi /etc/hosts
 192.168.192.131    c75
 192.168.192.132    c76
#测试是否添加成功
 [root@mail ~]# ping c75
 [root@mail ~]# ping c76
#建立虚拟主机存放网页的 跟目录,并创建首页文件index.html 
 [root@mail ~]# mkdir -p  /opt/apache/www/c75 
 [root@mail ~]# mkdir -p  /opt/apache/www/c76
#在网页中添加内容
 [root@mail ~]# echo 'c75,hello_word' >/opt/apache/www/c75/index.html
 [root@mail ~]# echo 'c76,hello_word' >/opt/apache/www/c76/index.html
#修改配置文件,在后添加如下代码 
 [root@mail ~]# vi /opt/apache/conf/httpd.conf 
#将原有的80端口注释,并在最后加上以下三行 
 Listen 192.168.192.131:80
 Listen 192.168.192.132:80
 Include /opt/apache/vhost/*.conf   #规定新IP地址配置文件的存储路径
 [root@mail~]# mkdir  /opt/apache/vhost   #创建新IP地址配置文件的目录
#添加下面的代码则是虚拟主机的
 [root@mail ~]# vi /opt/apache/vhost/c75.conf
 <VirtualHost 192.168.192.131:80>        
       ServerName c75
       DocumentRoot   /opt/apache/www/c75
       <Directory "/opt/apache/www/c75/">
                 Options Indexes FollowSymLinks
                 AllowOverride    None
                 Require all granted
       </Directory>
 </VirtualHost>
 [root@mail ~]# vi /opt/apache/vhost/c76.conf
 <VirtualHost 192.168.192.132:80>        
       ServerName c76
       DocumentRoot   /opt/apache/www/c76
       <Directory "/opt/apache/www/c76/">
                  Options Indexes FollowSymLinks
                  AllowOverride    None
                  Require all granted
       </Directory>
 </VirtualHost>
#测试apache的配置是否有问题,如有问题请查看日志 
 [root@mail ~]# cd /opt/apache/bin/
 [root@mail bin]# ./apachectl -t
 Syntax OK
 [root@mail bin]#  ./apachectl start
#在浏览器中打开网页:  
 http://192.1681.192.131       
 http://192.1681.192.132
  1. 基于端口的虚拟主机配置
    #如果服务器只有一个IP或需要通过不同的端口访问不同的虚拟主机,可以使用基于端口的虚拟主机配置
[root@mail ~]# ifconfig ens32:3 192.168.192.134 up          #用这个ip来进行测试 
[root@mail ~]# vi  /etc/hosts
192.168.192.134    c77
[root@mail ~]# mkdir /opt/apache/www/c77
[root@mail ~]# mkdir /opt/apache/www/c77/8080
[root@mail ~]# mkdir /opt/apache/www/c77/8081
[root@mail ~]# echo '8080c77.hello_word' > /opt/apache/www/c77/8080/index.html
[root@mail ~]# echo '8081c77.hello_word' > /opt/apache/www/c77/8081/index.html
#修改配置文件,在后添加如下代码 
[root@mail ~]# vi  /opt/apache/conf/httpd.conf
Listen 192.168.192.134:8080 
Listen 192.168.192.134:8081 
Include /opt/apache/vhost/*.conf
[root@mail ~]# vi /opt/apache/vhost/c77_8080.conf
<VirtualHost 192.168.192.134:8080>
        ServerName c77        
        DocumentRoot    /opt/apache/www/c77/8080        
        <Directory "/opt/apache/www/c77/8080/">                
                 Options Indexes FollowSymLinks                
                 AllowOverride    None                
                 Require all granted        
        </Directory>
</VirtualHost>
[root@mail ~]# vi /opt/apache/vhost/c77_8081.conf
<VirtualHost 192.168.192.134:8081>
        ServerName c77        
        DocumentRoot    /opt/apache/www/c77/8081       
        <Directory "/opt/apache/www/c77/8081/">                
                 Options Indexes FollowSymLinks                
                 AllowOverride    None                
                 Require all granted        
        </Directory>
</VirtualHost>
#测试apache的配置是否有问题,如有问题请查看日志
[root@mail ~]# cd /opt/apache/bin/
[root@mail bin]# ./apachectl -t
[root@mail bin]# ./apachectl stop
[root@mail bin]# ./apachectl start
#在浏览器中打开网页:    
http://192.1681.192.134:8080
http://192.1681.192.134:8081
  1. 基于域名的虚拟主机配置
[root@mail ~]# ifconfig ens32:4   192.168.192.135 up
[root@mail ~]# vi /etc/hosts
192.168.192.135    www.c78-1.com
192.168.192.135    www.c78-2.com
[root@mail ~]# ping www.c78-1.com
[root@mail ~]# ping www.c78-2.com
[root@mail ~]# mkdir /opt/apache/www/www.c78-1.com         
[root@mail ~]# mkdir /opt/apache/www/www.c78-2.com 
[root@mail ~]# echo 'c78-1_hello' > /opt/apache/www/www.c78-1.com/index.html                                                            
[root@mail ~]# echo 'c78-2_hello' > /opt/apache/www/www.c78-2.com/index.html
[root@mail ~]# vi /opt/apache/conf/httpd.conf 
Listen 192.168.192.135:80 
Include /opt/apache/vhost/*.conf
[root@mail ~]# vi /opt/apache/www/www.c78-1.com.conf
<VirtualHost 192.168.192.135:80>        
                ServerName   www.c78-1.com      
                DocumentRoot    /opt/apache/www/www.c78-1.com       
                <Directory "/opt/apache/www/www.c78-1.com/">                
                                     Options Indexes FollowSymLinks                
                                     AllowOverride    None                
                                     Require all granted       
                 </Directory>   
</VirtualHost>
[root@mail ~]# vi /opt/apache/www/www.c78-2.com.conf
   <VirtualHost 192.168.192.135:80>        
                ServerName   www.c78-2.com      
                DocumentRoot    /opt/apache/www/www.c78-2.com       
                 <Directory "/opt/apache/www/www.c78-2.com/">                
                                     Options Indexes FollowSymLinks                
                                     AllowOverride    None                
                                     Require all granted       
                 </Directory>   
</VirtualHost>
#测试apache的配置是否有问题,如有问题请查看日志 
[root@mail ~]# cd /opt/apache/bin/
[root@mail bin]# ./apachectl -t
Syntax OK
[root@mail bin]#  ./apachectl start
#修改windows的文件, 
#在浏览器中打开网页:  否则window解析不了
#C:\Windows\System32\drivers\etc里面有一个hosts文件,以记事本方式打开,在里面加上IP地址和域名。
192.168.192.135 www.c78-1.com
192.168.192.135 www.c78-2.com
#此时再在windows的浏览器输入域名即可 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值