设为首页 收藏本站
查看: 1025|回复: 0

[经验分享] web服务_apache基础

[复制链接]

尚未签到

发表于 2018-11-19 10:42:36 | 显示全部楼层 |阅读模式
  
http:
      
       http协议:
              http/0.9:原型版本;
              http/1.0:cache, MIME(multipupose internet Mail Extensions)
                     method:GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS、...            
              http/1.1:缓存功能大大增强
                     speedy:spdy
              http/2.0
                                 
              80/tcp
            
       https协议:
              443/tcp
            
       IANA:
              0-1023:众所周知的,永久地分配给固定的应用使用;特权端口(仅root可用);
              1024-41951:注册端口,但要求不是特别严格,分配给程序注册为某应用使用;
              41952+:客户端程序使用的随机端口,动态端口,或称为私有端口;/proc/sys/net/ipv4/ip_local_port_range;
            
       BSD Socket:IPC一种实现,允许位于不同主机之上的进程之间互相通信的解决方案之一;
              Socket API:
                     SOCK_STREAM:tcp套接字;
                     SOCK_DGRAM:udp套接字;
                     SOCK_RAW:裸套接字;
                    
              根据套按使用的地址格式:
                     AF_INET:ipv4地址家族;
                     AF_INET6:ipv6
                     AF_UNIX:Unix_sock;
                    
              TCP Finite State Machine:
              TCP协议的特性:
                     建立连接:三次握手;
                     将数据打包成段:校验和(CRC32)
                     确认、重传及超时;
                     排序:逻辑序号;
                     流量控制:滑动窗口;
                     拥塞控制:慢启动及拥塞避免算法;
http:hyper text tranfer protocol, 超文本传输协议;
Html: hyper text mark language,超文本标记语言;
工作模式:request/response
                     一次完整的http事务:请求响应;
                    
                     web资源:
                            一个html文档;
                            一个图片;
                            一个mp3文件片断;
                            ...
                           
                            URL:资源标识,用于描述服务器上某特定资源的位置;
                                   Uniform Resource Locator
                                          scheme://Server[:port]/PATH/TO/SOME_RESOURCE
                                         
                            资源的种类:
                                   静态资源:.jpg, .gif, .png, .html, .txt,  直接请求相应 不需要运算
                                   动态资源:需要在服务器或客户端运行后返回结果
                                          服务器端技术:.php, .jsp, ...
                                          客户端技术:.js
                           
              一次完整的http请求的处理过程:
                     (1) 建立或处理连接:接收请求或拒绝请求;
                     (2) 接收请求:接收客户端发来的具体请求报文;
                     (3) 处理请求:对请求报文进行解析;
                     (4) 访问资源:通过存储IO获取用户请求的资源;
                     (5) 构建响应报文:
                     (6) 发送响应报文 :
                     (7) 记录于日志中:
            
              并发响应模型:
                     单进程I/O模型:串行响应;
                     多进程I/O模型:同时启动多个进程,每个进程响应一个请求;
                     复用的I/O模型:一个进程响应多个请求;
                            多线程模型:一个进程生成多个线程,每个线程响应一个请求;
                            事件驱动:一个进程直接响应多个请求;
                     复用的多进程I/O结构:启动m个进程,每个进程生成n个线程,每个线程响应一个请求;
资源映射:
                     chroot:
                            /var/test/a/b/index.html
                           
                            chroot /var/test,
                                   /a/b/index.html
                    
                            例如:/var/www/html/
                                          images/logo.jpg
                                   http://www.magedu.com:80/images/log.jpg
                                 
                            DocumentRoot  页面资源存放的路径
                           
                            web服务器的资源映射机制:
                                   (a) DocumentRoot
                                   (b) alias
                                   (c) 虚拟主机的docroot
                                   (d) 用户的docroot
                                   ...
       http请求处理中的连接方式:
                     保持连接:长连接,keepalive 当客户端请求每一个资源时都会建立一次tcp链接 每次一链接请求一个资源,大量资源都用在握手上,效率低下,保持链接则可以基于一次握手传送多个资源
                     非保持连接:短连接,  不保持链接 每一个资源单独握手
折中思路:防止长连接占用而不请求资源
                     时间:时间限制
                     数量:数量限制
                    
       http协议的实现:
              简单的基本http协议服务器:
                     httpd (apache)
                     nginx
                     lighttpd
                    
              application server:动态服务器技术;
                     iis, tomcat, jetty, resin, ...
                     weblogic, websphere, jboss, glassfish, ...
                    
              httpd:
                     www.netcraft.com  数据挖掘网站
                     ASF:apache software foundation
                     apache,a patchy server, httpd
                    
              httpd的特性:
                     高度模块化:core + modules
                     DSO: Dynamic shared objects
                            支持动态装载和卸载;
                     MPM:multipath processing modules 多路处理模块 (httpd 2.2以前的版本不支持DSO机制)
                            prefork:一个主进程,多个子进程;一个进程响应一个请求;
                                   主进程:管理子进程;创建套接字;接收用户请求,并派发给某子进程处理;...
                                   子进程:处理请求、响应请求;
                            worker:多进程多线程模型;一个线程响应一个请求;
                                   主进程:管理子进程;创建套接字;接收用户请求,并派发给某子进程处理;...
                                   子进程:负责管理线程;
                                   线程:处理并响应请求;
                            event:事件驱动模型,多进程模型,每个进程响应多个请求;
                                   主进程:管理子进程;创建套接字;接收用户请求,并派发给某子进程处理;...
                                   子进程:处理并响应请求;
                                 
                                   httpd-2.2:event为测试模型;
                                          CentOS 6:MPM不支持DSO机制;
                                   httpd-2.4:production ready;支持DSO机制;
                                          CentOS 7:
***************************************
httpd的功能特性:
CGI:common gateway interface;
虚拟主机:IP, PORT, HOSTNAME
反向代理
负载均衡:bytraffic, bybusiness, byrequest
路径别名
丰富的用户认证机制
       basic:
       digest:
支持第三方模块
...
*******************************************
CentOS 6:httpd-2.2
sysinit脚本:/etc/rc.d/init.d/httpd
程序环境:
       配置文件:
              /etc/httpd/conf/httpd.conf
              /etc/httpd/conf.d/*.conf
       程序文件:
              /usr/sbin/httpd
              /usr/sbin/httpd.event
              /usr/sbin/httpd.worker
                                 
              脚本配置文件:/etc/sysconfig/httpd
       日志文件:
              /var/log/httpd
                     access_log:访问日志
                     error_log:错误日志
       站点文档根目录:
              /var/www/html
       模块文件路径:
              /usr/lib64/httpd/modules            
chkconfig httpd on|off
                           
CentOS 7:httpd-2.4
Systemd Unit File:/usr/lib/systemd/system/httpd.service
                    
程序环境:
       配置文件:
              /etc/httpd/conf/httpd.conf
              /etc/httpd/conf.modules.d/*.conf
              /etc/httpd/conf.d/*.conf
       程序文件:
              /usr/sbin/httpd

              MPM支持DSO机制,所以各为一个独立的模块;
                                 
       日志文件:
              /var/log/httpd
                     access_log:访问日志
                     error_log:错误日志
       站点文档根目录:
              /var/www/html
       模块文件路径:
              /usr/lib64/httpd/modules      
                                 
systemctl enable httpd.service
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636917-1-1.html 上篇帖子: apache压力测试工具的apache bench和JMeter的安装 下篇帖子: web服务_apache配置(2)v1.0
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表