HTTP服务基础

编程入门 行业动态 更新时间:2024-10-06 20:39:12

HTTP服务<a href=https://www.elefans.com/category/jswz/34/1770030.html style=基础"/>

HTTP服务基础

防火墙设置[root@server0 ~]# firewall-cmd --set-default-zone=trusted

HTTP服务基础

独立web服务器(基于B/S)架构的网页服务
    服务端提供网页
    浏览器下载并显示网页
    Hyper Text Markup Language,超文本标记语言
    Hyper Text Transfer Protocol,超文本传输协议


    软件包:httpd(Apache软件基金会)
    系统服务:httpd
    提供的默认配置
        Listen:监听端口号(80)
​
        SreverName:本站点注册的DNS名称
        DocumentRoot:网页根目录(/var/www/html)
​
        DirectoryIndex:起始页/首页文件名(index.html)
    
    服务端server0
        1.安装软件包httpd
            [root@server0 ~]# yum -y install  httpd
​
        2.重启httpd服务
            [root@server0 ~]# systemctl restart httpd
            [root@server0 ~]# systemctl enable httpd
        3.书写一个页面
            [root@server0 ~]# echo  '<h1>nsd9527'  >  /var/www/html/index.html
            [root@server0 ~]# cat /var/www/html/index.html
    客户端desktop0
            1.访问服务端地址
                [root@desktop0 ~]# firefox  172.25.0.11
​
– ServerName:本站点注册的DNS名称(空缺)
– DocumentRoot:网页文件根目录(/var/www/html)
​
    DNS服务器:classroom.example
            server0.example
            www0.example
            webapp0.example
​
    通过ServerName指定本网站的域名为server0.example
    服务端server0
        1.修改配置文件/etc/httpd/conf/httpd.conf
​
            ServerName server0.example:80  /ServerName
​
        2.重启httpd服务
​
            [root@server0 ~]# systemctl restart httpd
    客户端desktop0
        [root@desktop0 ~]# firefox  server0.example

    服务端server0
        1.建立新的网页文件根目录
            [root@server0 ~]# mkdir  /var/www/myweb
            [root@server0 ~]# echo '<h1>wo  shi  ni  da  ye'  >  /var/www/myweb/index.html
            [root@server0 ~]# cat /var/www/myweb/index.html
        2.修改配置文件
            [root@server0 ~]# vim /etc/httpd/conf/httpd.conf 
            DocumentRoot "/var/www/myweb"
        3.重启httpd服务
            [root@server0 ~]# systemctl restart httpd
    客户端desktop0访问
            [root@desktop0 ~]# firefox  server0.example
​
客户端浏览器路径 与 服务器真实路径的对照
​
    客户端浏览器路径 firefox 172.25.0.11 -> DocumentRoot目录下/var/www/myweb
​
    客户端  firefox 172.25.0.11/abc -> DocumentRoot目录下/var/www/myweb/abc
    客户端  firefox 172.25.0.11/test -> DocumentRoot目录下/var/www/myweb/test

虚拟web主机的含义及类型

( 一旦启用虚拟Web主机功能,所有的站点都必须用虚拟Web来实现)
虚拟web主机
    由一台服务器提供多个不同的web站点
区分方式
    基于域名的虚拟主机
    基于端口的虚拟主机
    基于IP地址的虚拟主机
    
配置文件
    /etc/httpd/conf/httpd.conf    (主配置文件)
    /etc/httpd/conf.d/*.conf        (调用主配置文件:管理分类)
搭建基于域名的虚拟主机
    为每个虚拟站点添加配置(容器是=式配置语句)
        <VirtualHost  IP地址:端口号>
            ServerName 此站点的DNS名称
            DocumentRoot  此站点的网页根目录
        </VirtualHost>
​
虚拟机Server0
    [root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf
    <VirtualHost *:80>               #在本机所有IP地址的80端口启用虚拟web功能
     ServerName www0.example     #指定网站域名
     DocumentRoot /var/www/haha      #指定网页文件根目录
    </VirtualHost>
    <VirtualHost *:80>
     ServerName webapp0.example
     DocumentRoot /var/www/xixi
    </VirtualHost>
​
    [root@server0 ~]# mkdir /var/www/haha /var/www/xixi
    [root@server0 ~]# echo '<h1>wo shi haha' > /var/www/haha/index.html
    [root@server0 ~]# echo '<h1>wo shi xixi' > /var/www/xixi/index.html
    [root@server0 ~]# cat /var/www/haha/index.html
    [root@server0 ~]# cat /var/www/xixi/index.html
    [root@server0 ~]# systemctl restart httpd
​
虚拟机desktop0
    [root@server0 ~]# firefox  www0.example
    [root@server0 ~]# firefox  webapp0.example

虚拟机Server0

    [root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf
    <VirtualHost *:80>               #在本机所有IP地址的80端口启用虚拟web功能
     ServerName www0.example     #指定网站域名
     DocumentRoot /var/www/haha      #指定网页文件根目录
    </VirtualHost>
    <VirtualHost *:80>
     ServerName webapp0.example
     DocumentRoot /var/www/xixi
    </VirtualHost>
​
    <VirtualHost *:80>
     ServerName server0.example
     DocumentRoot /var/www/myweb
    </VirtualHost>

配置httpd访问控制

客户机地址限制
    仅允许本机访问,其他客户端禁止访问
        使用<Directory>配置区段
            每个文件夹自动继承其父目录的ACL访问控制
            除非针对子目录有明确设置
​
                <Directory 目录的绝对路径> 
​
                Require all denied|granted
​
                Require ip IP或网段地址.....
​
                </Directory>
            ------------------------------------------
​
                <Directory />
                    Require all denied     #拒绝所有
                </Directory>
​
                <Directory "/var/www">
                    Require all granted    #允许所有
                </Directory>
​
    服务端
       
        [root@server0 ~]# mkdir /var/www/myweb/private                      //在上案例的前提下
        [root@server0 ~]# echo  007VS9527  >  /var/www/myweb/private/index.html
        [root@server0 ~]# vim /etc/httpd/conf.d/nsd02.conf                  //创建调用主配置文件的文件夹
        <Directory /var/www/myweb/private>                              //允许本机访问,对外禁止
            Require ip 172.25.0.11
        </Directory>
                    
        [root@server0 ~]# systemctl restart httpd
​
    客户端
        [root@desktop0 ~]# firefox  server0.example/private             //访问网站子目录
​
    案例4:使用自定Web根目录
        调整 Web 站点  的网页
        目录,要求如下:
        1)新建目录 /webroot,作为此站点新的网页目录
​
        虚拟机Server0
        1.建立新的网页文件目录
            [root@server0 ~]# mkdir /webroot
            [root@server0 ~]# echo wo shi webroot > /webroot/index.html
            [root@server0 ~]# cat /webroot/index.html
        2.修改的网页文件根目录
            [root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf  #修改内容
            <VirtualHost *:80>
             ServerName server0.example
             DocumentRoot /webroot
            </VirtualHost>
        3.修改访问控制
            [root@server0 ~]# vim /etc/httpd/conf.d/nsd02.conf  #追加写入
            <Directory /webroot>
                Require all granted    #允许所有
            </Directory>
        4.重起服务
            [root@server0 ~]# systemctl restart httpd
​
        5.SELinuxc策略的控制安全上下文(标签)
            [root@server0 ~]# ls -Zd /var/www           //查看目录的上下文值
            [root@server0 ~]# ls -Zd /webroot
​
        方式1:参照标准目录,重设新目录的属性
        格式:chcon -R --reference=模板目录  新目录
            [root@server0 ~]# chcon -R --reference=/var/www    /webroot/     //修改标签值
​
            [root@server0 ~]# ls -Zd /webroot/
​
        方式2:直接修改权限
            [root@server0 ~]# setenforce 0
        客户端
            [root@desktop0 ~]# firefox  server0.example/private             //访问网站子目录
            [root@desktop0 ~]# firefox  server0.example

部署动态网站

静态网站的运行
    服务端的原始网页=浏览器访问到的网页
        由Web服务软件处理所有请求
        文本(TXT/html),图片(ipg/png)等静态资源

图片

动态网站的运行
    服务端的原始网页!=浏览器访问到的网页
        由Web服务软件接受请求,动态程序转后端模块处理
        PHP网页,Pyhton网页,JSP网页........

图片

虚拟机Server0
    1.下载Python页面,以webapp0.example
        [root@server0 ~]# cat /etc/httpd/conf.d/nsd01.conf 
        [root@server0 ~]# cd /var/www/xixi
        # wget .wsgi
        [root@server0 xixi]# ls
        [root@server0 xixi]# cat webinfo.wsgi 
​
    2.修改虚拟Web主机配置,方便用户的访问,网页的跳转(网页的别名)
​
        [root@server0 xixi]# vim /etc/httpd/conf.d/nsd01.conf 
​
        <VirtualHost *:80>
         ServerName webapp0.example
         DocumentRoot /var/www/xixi
​
         Alias  /   /var/www/xixi/webinfo.wsgi
​
      当客户端 访问到网页文件的根目录时 ,将/var/www/xixi/webinfo.wsgi呈现给客户端
​
        </VirtualHost>
​
        [root@server0 xixi]# systemctl restart httpd
​
客户端:虚拟机Desktop0 测试   firefox  webapp0.example
​
    3.翻译Python页面
        [root@server0 /]# yum -y install mod_wsgi  #安装可以识别Python代码程序
        [root@server0 /]# vim /etc/httpd/conf.d/nsd01.conf
​
        <VirtualHost *:80>
         ServerName webapp0.example
         DocumentRoot /var/www/xixi
         WsgiScriptAlias /  /var/www/xixi/webinfo.wsgi
​
        </VirtualHost>
​
     最终显示页面的内容为    UNIX时间戳 : 1970-1-1 0:0:0 到 指定时间 经过的秒数
​
        [root@server0 xixi]# systemctl restart httpd
​
    客户端:虚拟机Desktop0 测试  
         firefox  webapp0.example

更多推荐

HTTP服务基础

本文发布于:2024-02-13 07:47:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1757642.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   HTTP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!