前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >盘点Linux运维常用工具(一)-web篇之httpd

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

作者头像
老油条IT记
发布2020-03-20 21:07:35
6690
发布2020-03-20 21:07:35
举报

1.简单概述

代码语言:javascript
复制
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

#特点

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

#HTTP协议版本

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

#HTTP状态码

代码语言:javascript
复制
是用来表示web服务器响应http请求状态的数字代码

#状态码可分为5大类

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

#apache的工作模式

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

2.相关术语

#http请求方式

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

#常用的HTTP请求方法

#http报文

#http报名可分为两种

代码语言:javascript
复制
请求报文:从客户端发往web服务器的http报文
响应报文:从web服务器发往web客户端的报文

#请求报文

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

#响应报文

代码语言:javascript
复制
响应报文包括:状态行,响应头部,空行,响应报文主体

#URL介绍

代码语言:javascript
复制
全称uniform resource location(统一资源定位符),也称为网页地址(网址)

#URL的组成

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

#URI介绍

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

#静态网页介绍

代码语言:javascript
复制
在网站设计中,纯碎的HTML格式的网页通常称为静态网页

#常见的静态扩展名

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

#动态网页介绍

代码语言:javascript
复制
动态网页和静态网页是相对的,以.php .js .asp等形式结尾的

#动态网页的特点

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

#伪静态网页介绍

代码语言:javascript
复制
伪静态就是通过一些技术(如rewrite)把动态网页的URL地址伪装成静态网页URL地址,但实际还是动态网页

#网站流量度量术语

代码语言:javascript
复制
IP
        Internet protocol。指独立IP数,独立IP数是指不同ip地址的计算机访问网站时被计的总次数

PV
      (访问量),即page view(页面浏览),即页面浏览或单击量,不管客户端是否相同,也不管ip是否相同,用户只要访问
          网站页面就会被计算为PV,一次计一个PV

UV
         unique visitor(独立访客),同一个客户端访问网站被记为一个访客,一天内相同的客户端访问同一个网站只会被计
         一次UV
         UV一般是以客户端cookie等技术作为统计依据

#网站并发连接理解

代码语言:javascript
复制
网站服务器在单位时间内能够处理的最大连接数

3.安装方法

#1.使用yum进行安装

代码语言:javascript
复制
yum install httpd -y

#启动服务

代码语言:javascript
复制
[root@ctos3 ~]# systemctl start httpd

#查看httpd服务的目录结构

代码语言:javascript
复制
[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.安装相关的包

代码语言:javascript
复制
yum groupinstall "Development Tools" "Development Libraries" -y   #安装相关开发工具包
yum install gcc gcc-c++  openssl-devel bzip2 -y   #安装依赖包

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

代码语言:javascript
复制
[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包名)上传的

#依赖包下载地址

代码语言:javascript
复制
apr和apr-utils:http://apr.apache.org/
prce:http://pcre.org

#2.1.编译apr

代码语言:javascript
复制
[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

代码语言:javascript
复制
[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

代码语言:javascript
复制
[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

代码语言:javascript
复制
[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的启动脚本

代码语言:javascript
复制
[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        #查看端口
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.简单概述
  • 2.相关术语
  • 3.安装方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档