http简介

httpd是Apache超文本传输协议(HTTP)服务的主程序。被设计为一个独立运行的后台进程它会建立一个处理请求的子进程或线程的池

一次完整的http请求的处理过程

(1) 建立或处理连接

(2) 接收请求

(3) 处理请求

(4) 访问资源

(5) 构建响应报文

(6) 发送响应报文

(7) 记录于日志中

http协议请求方法

  • GET      请求指定的页面信息并返回资源主体

  • HEAD      类似于GET请求只不过返回的响应中没有具体的内容用于获取HTTP首部

  • POST      向指定服务器提交表单数据进行处理请求。请求报文主体种包含了要传递的数据信息内容。POST请求可能会导致新的资源的建立和/或已有资源的修改。

  • PUT      从客户端向服务器上传可取代指定的文档的内容的数据资源。

  • DELETE     请求服务器删除指定的资源。

  • CONNECT    HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

  • OPTIONS    允许客户端查看服务器的性能。

http协议响应

HTTP响应也是由三个部分组成分别是状态行、消息报头、响应正文

1、状态行格式如下
HTTP-Version Status-Code Reason-Phrase

其中HTTP-Version表示服务器HTTP协议的版本Status-Code表示服务器发回的响应状态代码Reason-Phrase表示状态代码的文本描述。
状态代码有三位数字组成第一个数字定义了响应的类别且有五种可能取值
1xx指示信息--表示请求已接收继续处理
2xx成功--表示请求已被成功接收、理解、接受
3xx重定向--要完成请求必须进行更进一步的操作
4xx客户端错误--请求有语法错误或请求无法实现
5xx服务器端错误--服务器未能实现合法的请求
常见状态代码、状态描述、说明
200 OK      //客户端请求成功
400 Bad Request  //客户端请求有语法错误不能被服务器所理解
401 Unauthorized //请求未经授权这个状态代码必须和WWW-Authenticate报头域一起使用 
403 Forbidden  //服务器收到请求但是拒绝提供服务
404 Not Found  //请求资源不存在eg输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable  //服务器当前不能处理客户端的请求一段时间后可能恢复正常

httpd特点

httpd功能特性

  • CGI (Common Gateway Interface)

  • 虚拟主机

    • 基于IP

    • 基于PORT

    • 基于HOSTNAME

  • 反向代理

  • 负载均衡

  • 路径别名

  • 丰富的用户认证机制

    • basic

    • digest

  • 支持第三方模块

httpd-2.2虚拟主机配置

CentOS 6默认提供的httpd-2.2版本

Httpd安装

yum –y install httpd

查看httpd安装与否

[root@www ~]# rpm -qa | grep httpd
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64

查看httpd安装路径

[root@www conf.d]# rpm -ql httpd | less
/etc/httpd
/etc/httpd/conf      //httpd的配置文件路径
/etc/httpd/conf.d    //httpd的配置文件路径
/etc/httpd/conf.d/README
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/httpd/logs       //httpd的日志文件路径
/etc/httpd/modules   //httpd的模块路径
/etc/httpd/run
/etc/logrotate.d/httpd
/etc/rc.d/init.d/htcacheclean
/etc/rc.d/init.d/httpd   //httpd的服务文件
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
/usr/lib64/httpd
/usr/lib64/httpd/modules
/usr/lib64/httpd/modules/mod_actions.so
/usr/lib64/httpd/modules/mod_alias.so

配置虚拟主机

[root@www conf]# grep"^NameVirtualHost" /etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.99.61:80

配置httpd的basic认证添加httpd认证用户

htpasswd -c -m/etc/httpd/conf/.htpasswd tom
htpasswd -m/etc/httpd/conf/.htpasswd jerry
htpasswd -m/etc/httpd/conf/.htpasswd mary

也可以配置httpd的basic基于组的认证

vim /etc/httpd/conf/.htgrp
mygrps: user1 user2

虚拟主机配置

vim/etc/httpd/conf.d/vhost1.conf
<VirtualHost 192.168.99.61:80>DocumentRoot/data/vhosts/www1/wordpress ServerNamewww1.runner.vipErrorLoglogs/www1.runner.vip-error_logCustomLoglogs/www1.runner.vip-access_log common<Location/server-status>SetHandlerserver-statusAuthtypeBasicAuthName"For Administrators"AuthUserFile "/etc/httpd/conf/.htpasswd"#AuthGroupFile "/etc/httpd/conf/.htgrp"#Requiregroup mygrpsRequireuser tom user2</Location>
</VirtualHost>

开启httpds支持,需要安装mod_ssl模块

查看是否安装ssl

httpd -M | grep ssl
yum –y install mod_ssl
[root@www conf]# httpd -M | grep ssl
ssl_module (shared)

httpds 配置

[root@www ssl]# (umask 077; openssl genrsa -out httpd.key 2048)
Generating RSA private key, 2048 bit long modulus
...............+++
..........+++

生成证书签署请求

CA服务器签署证书

[root@ca CA]# openssl ca -in /tmp/httpd.csr-out /etc/pki/CA/certs/httpd.crt -days 365
Using configuration from/etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:Serial Number: 1 (0x1)ValidityNot Before: Jul 21 04:15:40 2016 GMTNot After : Jul 21 04:15:40 2017 GMTSubject:countryName               = CNstateOrProvinceName       =BeijingorganizationName          = RunnerorganizationalUnitName    = OpscommonName                = myadmin.runner.vipemailAddress              =myadmin@runner.vipX509v3 extensions:X509v3 Basic Constraints: CA:FALSENetscape Comment: OpenSSL Generated CertificateX509v3 Subject Key Identifier: 3D:63:98:25:9D:9E:6E:AD:87:58:4E:6B:82:AE:90:AE:DE:77:18:B7X509v3 Authority Key Identifier: keyid:9B:65:F4:88:E7:A7:10:0F:82:7C:1A:AB:40:83:E3:5A:AE:CA:72:0ECertificate is to be certified until Jul 2104:15:40 2017 GMT (365 days)
Sign the certificate? [y/n]:y1 out of 1 certificate requests certified,commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

虚拟主机2

/etc/httpd/conf.d/ssl.conf 主要配置LoadModule ssl_module modules/mod_ssl.so
Listen 443
<VirtualHost _default_:443>
DocumentRoot"/data/vhosts/myadmin"
ServerName myadmin.runner.vip:443
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
<Directory"/data/vhosts/myadmin">Options NoneAllowOverride None###禁止192.168.99.51访问第一种做法#Order deny,allow#Deny from 192.168.99.51###禁止192.168.99.51访问第二种做法Order allow,denyAllow from allDeny from 192.168.99.51
</Directory>
SSLCertificateFile /etc/httpd/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

访问myadmin.runner.vip测试

转载于:https://blog.51cto.com/runingday/1828350

httpd-2.2和httpd-2.4安装部署相关推荐

  1. Zabbix,Nagios,OneAPM Servers 安装部署

    如何快速实现对 Linux 服务器的监控? 做过服务器监控的开发者几乎都知道 Zabbix 和 Nagios ,他们都是提供系统监控以及网络监控功能的开源解决方案,资历比较老.在不久前,这个市场迎来了 ...

  2. centos7 ambari2.6.1.5+hdp2.6.4.0 大数据集群安装部署

    2019独角兽企业重金招聘Python工程师标准>>> 转载请务必注明原创地址为:http://dongkelun.com/2018/04/25/ambariConf/ 前言 本文是 ...

  3. linux安装部署apache+subversion+jsvnadmin

    linux安装部署apache+subversion+jsvnadmin 1.apache网页服务器(注意不是tomcat) 2.subversion版本控制(svn服务器) 3.jsvnadmin项 ...

  4. zabbix 3.2.2 server端(源码包)安装部署 (一)【转】

    环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...

  5. phpMyAdmin安装部署

    phpMyAdmin 是一个用PHP编写的软件工具,可以通过web方式控制和操作MySQL数据库.通过phpMyAdmin 可以完全对数据库进行操作,例如建立.复制和删除数据等等.如果使用合适的工具, ...

  6. centos 安装mysql5.7_Zabbix 4.2.5 安装部署实践详解

    [导读]云计算背景下,无论是大数据.物联网还是边缘计算,规模化后大量的设备需要保证正常运行,在人员一定的情况下,就需要提高运行维护效率.同时随着智能化被应用在人们生活的方方面面,关联性也越来越紧密,即 ...

  7. Nagios安装部署与Cacti整合文档超精细版本

    Nagios安装部署与Cacti整合文档超精细版本 (2011-06-01 01:28) 分类: nagios监控 Nagios安装部署与Cacti整合文档 系统环境:CentOS5.4 文档版本:V ...

  8. awstats linux日志分析,Linux环境下安装部署AWStats日志分析系统实例

    AWStats是使用Perl语言开发的一款开放性日志分析系统,可分析Apache网站服务器的访问日志,还可以用来分析Samba.Vsftpd.IIS等日志信息. 此文章主要讲解如何在linux系统下安 ...

  9. tilecache2.11在windows apache2.22安装部署

    tilecache2.11在windows apache2.22安装部署 蔡建良 2013-09-03 一.安装环境 操作系统: Windows7 32位 Apache2.22 Python2.5 m ...

最新文章

  1. php使用TCPDF生成PDF文件教程
  2. UA MATH567 高维统计I 概率不等式3 亚高斯性与亚高斯范数
  3. Python的yield关键字
  4. camera tweak android,苹果iPhone相机大提升 CameraTweak2超强大的拍照增强插件
  5. 解决神经网络过拟合问题—Dropout方法、python实现
  6. 04737 c++ 自学考试2019版 第四章课后练习 程序设计题 2
  7. pycharm-实用教程和每日练习
  8. VMware三种工作模式
  9. python学生管理系统连接数据库版,很详细,这个是用函数版的增删改查,拿去用,不谢。...
  10. Maven的下载安装配置教程(详细图文)
  11. 索尼笔记本触摸板双指无效
  12. 新东方托福词汇(List 36 ~ List 40)
  13. NYoj21 三个水杯
  14. 抖音小店无货源前期开店需要多少资金?多久能回本?
  15. python入门——热量转换 I
  16. mysql查询总成绩高于240_Egret应用开发实践(02) MVC 模块化 - SegmentFault 思否
  17. sql dateadd 和datediff的用法
  18. mysql内存释放_MySQL内存不释放
  19. Android推送 百度云推送
  20. Solidworks二次开发-3D坐标转2D坐标

热门文章

  1. 2018阿里云云数据库RDS核心能力演进
  2. 【并发编程】 操作系统介绍
  3. phonegap工程中修改app的名字
  4. CSS3支持box-flex弹性布局
  5. Ubuntu常用命令与技巧
  6. [转载]深入探索.NET框架内部了解CLR如何创建运行时对象
  7. DATAGRID学习
  8. 【转载】通俗理解极大似然估计
  9. 函数 —— popen() fscanf() sprintf() 执行shell命令并获取结果
  10. IDEA如何像ecplise一样添加jar包?