• 盘点Linux运维常用工具(一)-web篇之httpd


    #前言:想把自己学到用到的各种服务进行分类归档起来,于是就写了盘点Linux运维常用工具,Linux方面使用到的web应用服务有httpd(apache)、nginx、tomcat、lighttpd,先了解httpd服务

     

    #httpd服务

    1.简单概述

    1、HTTP 协议,全称Hyper Text Transfer Protocol,中文名超文本传输协议
    2、HTTP的重要应用之一是WWW服务,设置HTTP协议最初是提供一种发布和接受HTML页面的方法
    3、www全称world wide web(万维网)
    4、HTTP协议的WWW服务应用的默认端口为80,https加密的端口为443
    5、http协议位于OSI模型中第七层应用层
    6、官网:www.apache.org

    #特点

    12.2版本非常稳定强大,2.4版本性能更高
    2、prefork模式取消了进程创建开销
    3、高并发时消耗系统资源相对多
    4、支持扩展

    #HTTP协议版本

    #版本:0.9, 1.0, 1.1, 2.03.0
        0.9: 最初的版本,仅支持请求方法方式get
        1.0:增加了请求方式POST和HEAD
        1.1:引入了持久连接
        2.0:增加双工模式(即不仅客户端能够同时发送多个请求,服务端也能同时处理多个请求)
                 也增加了服务器推送功能
        3.0:基于UDP实现,基于UDP的多路复用,加密认证的报文

    #HTTP状态码

    是用来表示web服务器响应http请求状态的数字代码

    #状态码可分为5大类

     

     #生产场景下的状态码及其对应的作用

    #apache的工作模式

    prefork:多进程,每个请求用一个进程响应
    worker:多线程,一个进程可以生成多个线程,每个线程响应一个请求
    event(http2.4之后添加):基于异步I/O模型,一个进程或线程,每个进程或线程响应多个用户

    2.相关术语

    #http请求方式

    用于告诉web服务器端需要执行哪些具体的动作:包括获取指定web页面,提交内容到服务器、删除服务器上资源文件等

    #常用的HTTP请求方法

    #http报文

    #http报名可分为两种

    请求报文:从客户端发往web服务器的http报文
    响应报文:从web服务器发往web客户端的报文

    #请求报文

    请求报文包括: 请求行,请求头部,空行,请求报文主体
        
        请求行
            请求行是请求报文的第一行,用来说明客户端想要做什么。
            内容由请求方法字段、URL字段和HTTP协议版本字段组成
            
        请求头部
            请求头部由关键字/值对组成,使用:作为分隔符,
            请求头部的作用是通过客户端把请求的相关信息告诉给服务器
            
        请求报文主体
            请求报文主体包括了要发送给web服务器的数据信息,请求报文主体不会应用于HTTP的get命令方法

    #响应报文

    响应报文包括:状态行,响应头部,空行,响应报文主体

      起始行:
       也叫状态行,用来说明服务器响应客户端请求的状况
       一般为协议及版本号、数字状态码、状态情况

     响应头部:和请求报文类似,起始行的后面一般有若干个头部字段

      响应报文主体:响应报文主体中装载了要返回给客户端的数据

    #URL介绍

    全称uniform resource location(统一资源定位符),也称为网页地址(网址)

    #URL的组成

     由三部分组成: 第一部分是协议,如:http
                 第二部分是主机资源服务器IP地址或域名
                 第三部分是主机资源的具体地址            

    #URI介绍

    全称uniform resource identifier(统一资源标识符),用于标识某一互联网资源名称的字符串
    URL是URI命名机制的一个子集

      

    #静态网页介绍

    在网站设计中,纯碎的HTML格式的网页通常称为静态网页

    #常见的静态扩展名

    纯文本类程序或文件,如.htm 、.html 、.xml 、.shtml 、.js 、.css 等。
    图片类文件或数据文档,如.j pg 、.gif、.png 、.bmp 、.txt 、.doc 、.ppt 等。
    视频类流媒体文件,如.mp4 、.swf、.avi 、.wmv 、. ftv


    #动态网页介绍

    动态网页和静态网页是相对的,以.php .js .asp等形式结尾的

    #动态网页的特点

    1、网页扩展名后缀常见为:.asp .aspx .php 
    2、一般以数据库技术为基础
    3、实现更多的功能
    4、网址中有? &标志性的符号

    #伪静态网页介绍

    伪静态就是通过一些技术(如rewrite)把动态网页的URL地址伪装成静态网页URL地址,但实际还是动态网页

    #网站流量度量术语

    IP
            Internet protocol。指独立IP数,独立IP数是指不同ip地址的计算机访问网站时被计的总次数
    
    PV
          (访问量),即page view(页面浏览),即页面浏览或单击量,不管客户端是否相同,也不管ip是否相同,用户只要访问
              网站页面就会被计算为PV,一次计一个PV
    
    UV
             unique visitor(独立访客),同一个客户端访问网站被记为一个访客,一天内相同的客户端访问同一个网站只会被计
             一次UV
             UV一般是以客户端cookie等技术作为统计依据

    #网站并发连接理解

    网站服务器在单位时间内能够处理的最大连接数

    3.安装方法

    #1.使用yum进行安装

    yum install httpd -y

    #启动服务

    [root@ctos3 ~]# systemctl start httpd

    #查看httpd服务的目录结构

    [root@ctos3 ~]# tree /etc/httpd/
    /etc/httpd/
    ├── conf
    │   ├── httpd.conf  #主配置文件
    │   └── magic
    ├── conf.d
    │   ├── autoindex.conf
    │   ├── README
    │   ├── userdir.conf
    │   └── welcome.conf
    ├── conf.modules.d   #模块目录
    │   ├── 00-base.conf
    │   ├── 00-dav.conf
    │   ├── 00-lua.conf
    │   ├── 00-mpm.conf
    │   ├── 00-proxy.conf
    │   ├── 00-systemd.conf
    │   └── 01-cgi.conf
    ├── logs -> ../../var/log/httpd  #日志
    ├── modules -> ../../usr/lib64/httpd/modules
    └── run -> /run/httpd

    #2.编译安装apache2.4

    #1.安装相关的包

    yum groupinstall "Development Tools" "Development Libraries" -y   #安装相关开发工具包
    yum install gcc gcc-c++  openssl-devel bzip2 -y   #安装依赖包

    #2.编译apache依赖的相关包

    [root@ctos3 ~]# ls -l | grep -E  "apr|apr|pcre|httpd"
    -rw-r--r--  1 root root 1031613 May 30  2016 apr-1.5.2.tar.gz
    -rw-r--r--  1 root root  694427 May 30  2016 apr-util-1.5.4.tar.bz2
    -rw-r--r--  1 root root 5101005 May 30  2016 httpd-2.4.16.tar.bz2
    -rw-r--r--  1 root root 1557603 May 30  2016 pcre-8.37.tar.bz2

    #提示:我这边是将包下载下来了再使用rz(lrzsz包名)上传的

    #依赖包下载地址

    apr和apr-utils:http://apr.apache.org/
    prce:http://pcre.org

    #2.1.编译apr

    [root@ctos3 ~]# tar xf apr-1.5.2.tar.gz -C /usr/local/src/
    [root@ctos3 ~]# cd !$
    cd /usr/local/src/
    [root@ctos3 src]# cd apr-1.5.2/
    [root@ctos3 apr-1.5.2]# ./configure  --prefix=/usr/local/apr
    [root@ctos3 apr-1.5.2]# make -j 2 &&  make install

    #提示:-j参数:使用CPU来进行编译,加快速度

    #2.2.编译apr-util

    [root@ctos3 ~]# yum install -y bzip2 
    [root@ctos3 ~]# tar xf apr-util-1.5.4.tar.bz2 -C /usr/local/src/
    [root@ctos3 ~]# cd !$
    cd /usr/local/src/
    [root@ctos3 src]# cd apr-util-1.5.4/
    [root@ctos3 apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    [root@ctos3 apr-util-1.5.4]# make -j 2 &&  make install

    #2.3.编译pcre

    [root@ctos3 ~]# tar xf pcre-8.37.tar.bz2 -C /usr/local/src
    [root@ctos3 ~]# cd !$
    cd /usr/local/src
    [root@ctos3 src]# cd pcre-8.37/
    [root@ctos3 pcre-8.37]# ./configure --prefix=/usr/local/pcre
    [root@ctos3 pcre-8.37]# make -j 2 && make install 

    #3.编译安装apache

    [root@ctos3 ~]# tar xf httpd-2.4.16.tar.bz2 -C /usr/local/src/
    [root@ctos3 ~]# cd !$
    cd /usr/local/src/
    [root@ctos3 src]# cd httpd-2.4.16/
    [root@ctos3 httpd-2.4.16]# ./configure --prefix=/usr/local/apache2.4 --enable-so --enable-rewrite --enable-ssl --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
    [root@ctos3 httpd-2.4.16]# make -j 2 && make install

    #编写apache的启动脚本

    [root@ctos3 ~]# cp /usr/local/apache2.4/bin/apachectl  /etc/init.d/apache2.4
    
    #添加
    [root@ctos3 ~]# vim /etc/init.d/apache2.4 
    [root@ctos3 ~]# head -n 3 /etc/init.d/apache2.4 
    #!/bin/sh
    #chkconfig:2345 64 36   #启动级别的服务,2345指哪些级别启动,64是开启顺序,36是关闭注释
    #description:Apache2.4.16 start script   #添加了这两个字段就可以使用chkconfig命令控制
    
    [root@ctos3 ~]# /etc/init.d/apache2.4 start #启动服务
    
    [root@ctos3 ~]# chkconfig apache2.4 on  #添加开机自启
    [root@ctos3 ~]# ps aux | grep apache     #查看apache的进程
    [root@ctos3 ~]# ss -untpl | grep 80        #查看端口

      

  • 相关阅读:
    Linux磁盘系统——管理磁盘的命令
    Linux磁盘系统——磁盘系统简介
    LinuxShell——内嵌命令
    安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法
    Linux常用命令
    Linux文件系统及文件类型
    MySQL查询语句
    Python随手记—各种方法的使用
    MySQL架构及SQL语句
    Python笔记记录
  • 原文地址:https://www.cnblogs.com/guoke-boy/p/12449503.html
Copyright © 2020-2023  润新知