httpd-2.2和httpd-2.4安装部署

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安装与否

    [[email protected] ~]# rpm -qa | grep httpd
    httpd-2.2.15-54.el6.centos.x86_64
    httpd-tools-2.2.15-54.el6.centos.x86_64

    查看httpd安装路径

    [[email protected] 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

    配置虚拟主机

    [[email protected] 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.vip
        ErrorLoglogs/www1.runner.vip-error_log
        CustomLoglogs/www1.runner.vip-access_log common
        <Location/server-status>
            SetHandlerserver-status
            AuthtypeBasic
            AuthName"For Administrators"
           AuthUserFile "/etc/httpd/conf/.htpasswd"
           #AuthGroupFile "/etc/httpd/conf/.htgrp"
            #Requiregroup mygrps
            Requireuser tom user2
       </Location>
    </VirtualHost>

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

    查看是否安装ssl

    httpd -M | grep ssl
    yum –y install mod_ssl
    [[email protected] conf]# httpd -M | grep ssl
    ssl_module (shared)

    httpds 配置

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

    生成证书签署请求

    CA服务器签署证书

    [[email protected] 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)
           Validity
               Not Before: Jul 21 04:15:40 2016 GMT
               Not After : Jul 21 04:15:40 2017 GMT
           Subject:
               countryName               = CN
               stateOrProvinceName       =Beijing
               organizationName          = Runner
               organizationalUnitName    = Ops
                commonName                = myadmin.runner.vip
               emailAddress              [email protected]
           X509v3 extensions:
               X509v3 Basic Constraints: 
                    CA:FALSE
               Netscape Comment: 
                    OpenSSL Generated Certificate
               X509v3 Subject Key Identifier: 
                   3D:63:98:25:9D:9E:6E:AD:87:58:4E:6B:82:AE:90:AE:DE:77:18:B7
               X509v3 Authority Key Identifier: 
                   keyid:9B:65:F4:88:E7:A7:10:0F:82:7C:1A:AB:40:83:E3:5A:AE:CA:72:0E
     
    Certificate is to be certified until Jul 2104:15:40 2017 GMT (365 days)
    Sign the certificate? [y/n]:y
    
    1 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 None
           AllowOverride None
           ###禁止192.168.99.51访问第一种做法
           #Order deny,allow
           #Deny from 192.168.99.51
           ###禁止192.168.99.51访问第二种做法
           Order allow,deny
           Allow from all
           Deny from 192.168.99.51
    </Directory>
    SSLCertificateFile /etc/httpd/ssl/httpd.crt
    SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

    访问myadmin.runner.vip测试

    时间: 2024-12-30 02:49:27

    httpd-2.2和httpd-2.4安装部署的相关文章

    马哥教育第二十一天httpd高级配置详解、编译安装

    1.httpd.conf配置文件                 ★设置默认字符集                         AddDefaultCharset ★CGI脚本路径                         ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"指定cgi路径别名                               bash写CGI脚本:                                  所有

    httpd的rpm包及源码安装配置

    1.rpm包安装 系统环境: [[email protected] ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m [[email protected] ~]# uname -r 2.6.32-358.el6.x86_64 [[email protected] ~]# ifconfig | grep Bcast:           inet addr:192.168.0.200  Bcast:192.168.0.

    关于httpd 2.x,mod_auth_mysql模块的安装配置以及对aes加密的支持

    前言 在之前的一篇博文<Apache httpd2.2版本以及2.4版本部分实验>的实验二里面,提到了协议认证使用了mod_auth_mysql.so模块,本文将阐述该模块的安装,配置,以及对于aes加密特性的支持. 基于开发者文档的安装步骤 注:在笔者的CentOS7测试环境下并不支持aes加密 首先从模块提供的官方站点下载mod_auth_mysql-3.0.0.tar.gz,并下载对应的补丁mod_auth_mysql_3.0.0_patch_apache2.4.diff,解压缩之后,将

    CentOS 平台,使用 httpd 2.2 和 httpd 2.4 部署 web服务器

    1.查看当前的系统 uname -r cat /etc/redhat-release 2.通过rpm 安装httpd yum install httpd a.安装完成后,参看相应的配置文件. /etc/httpd/conf/httpd.conf # 主配置文件. A.修改参数 Listen [IP:]port   # 可以出现多次. ServerName www.njjn.com:80 DoucumentRoot /var/www/html      # 文档主目录 NameVirtualHos

    httpd启动报错httpd: Could not reliably determine the server&#39;s fully qualified domain name

    安装完apache-httpd后,启动时报错如下: [[email protected] app]# service httpd start Starting httpd: httpd: apr_sockaddr_info_get() failed for ppt httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName  [  OK  

    CentOS7下安装部署LAMP环境

    (1)配置概要:  1. 172.16.100.31主机运行httpd+php服务(php为模块工作模式)  配置两台虚拟主机:wordpress个人博客系统.PHPmyadmin远程控制mysql 2.172.16.100.31主机运行mariadb服务(mysql) (2)配置流程:  首先配置172.16.100.31主机:http服务              1.安装程序:[[email protected]'s linux ~]# yum install httpd php php-

    Linux系统中Kickstart+HTTP+DHCP+TFTP全自动批量安装部署

    说明: Kickstart服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统:CentOS 5.10 64位 eth0(第一块网卡,用于外网)IP地址段:192.168.21.160-192.168.21.200 eth1(第二块网卡,用于内网)IP地址段:10.0.0.160-10.0.0.200 子网掩码:255.255.255.0 网关:192.168.21.2 DNS:8.8.8.8 8.8.4.4 所有服务器均支持PXE网络

    Linux下安装部署AWStats日志分析系统实例

    AWStats是使用Perl语言开发的一款开放性日志分析系统,可分析Apache网站服务器的访问日志,还可以用来分析Samba.Vsftpd.IIS等日志信息.       此文章主要讲解如何在linux系统下安装部署关于对Apache网站服务站日志分析的AWStats. 实验步骤一,安装部署AWStats分析软件. 一,安装AWStats软件包. 直接将其解压到/usr/local/awstats目录下即可完成安装. 使用命令:mkdir -p /usr/local/awstats tar z

    Nagios插件Nagiosgraph安装部署

    Nagios是比较常用的一款开源监控软件,Nagios灵活轻便使得在使用时可以根据自己的实际情况灵活运用,但是Nagios有一个缺点是对绘图做的不够完善,所以在对监控数据用来做分析时Nagios就有短板了.不过因为Nagios的灵活所以Nagios可以借助其他的方式实现图形报表的展示,今天在此就简要的说一说官方的Nagiosgraph插件,Nagiosgraph插件是用过Perl来实现的,所以在使用用Nagiosgraph插件时就要确保系统中安装了Perl以及配置好相应的cpan源,这样才能进行

    Nagios服务器端安装部署详解(1)

    下载地址如下: http://sourceforge.net/projects/nagios/files/ 具体详细下载地址:http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.6.tar.gz 1 开始下载: wget http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz/download?us