HTTP

使用CentOS 7和CentOS 6实现以下任务

  • 配置四个基于名称的虚拟主机;
    discuzX
    wordpress
    drupal
    1.在conf.d下新建并编辑虚拟主机配置文件
    ]# cd /etc/httpd/conf.d/
    ]# vim vhost.conf
    centos6配置

      [root@ _93_ conf.d]# cat /etc/httpd/conf.d/vhost.conf
      NameVirtualHost *:80
      <VirtualHost *:80>
          ServerName www.discuzx.com
          DocumentRoot "/vhost/discuzx/"
      </VirtualHost>
      <VirtualHost *:80>
          ServerName www.wordpress.com
          DocumentRoot "/vhost/wordpress/"
      </VirtualHost>
      <VirtualHost *:80>
          ServerName www.drupal.com
          DocumentRoot "/vhost/drupal/"
      </VirtualHost>

    centos7配置

      <VirtualHost *:80>
      ServerName www.discuzx.com
      DocumentRoot "/vhost/discuzx/"
      <Directory "/vhost/discuzx/">
          Options None
          Allowoverride None
          require all granted
      </Directory>
      </VirtualHost>
      <VirtualHost *:80>
          ServerName www.wordpress.com
          DocumentRoot "/vhost/wordpress/"
          <Directory "/vhost/wordpress/">
              Options None
              Allowoverride None
              require all granted
          </Directory>
      </VirtualHost>
      <VirtualHost *:80>
          ServerName www.drupal.com
          DocumentRoot "/vhost/drupal/"
          <Directory "/vhost/drupal/">
              Options None
              Allowoverride None
              require all granted
          </Directory>
      </VirtualHost>

2.创建本地文件系统资源目录

    ]# mkdir -pv /vhost/{discuzx,wordpress,drupal}/
    mkdir: created directory ‘/vhost’
    mkdir: created directory ‘/vhost/discuzx/’
    mkdir: created directory ‘/vhost/wordpress/’
    mkdir: created directory ‘/vhost/drupal/’

3.创建首页
]# cd /vhost/
]# for i in `ls`; do echo "The page is $i" > /vhost/${i}/index.html ;done

    ]# tree
    .
    ├── discuzx
    │   └── index.html
    ├── drupal
    │   └── index.html
    └── wordpress
        └── index.html

4.检查语法

    ]# httpd -t 
        Syntax OK

5.reload httpd服务
]# service httpd reload]# systemctl reload httpd
6.测试

(d) phpMyAdmin,此虚拟主机仅支持https协议;
1.CA自签(192.168.33.67为https服务器,192.168.33.77主机为CA机构)
生成私钥

    ]# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

生成自签证书

    [root@ _21_ ~]# openssl req -x509 -new -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:CN
    State or Province Name (full name) []:Beijing
    Locality Name (eg, city) [Default City]:Beijing
    Organization Name (eg, company) [Default Company Ltd]:Magedu  
    Organizational Unit Name (eg, section) []:Opt
    Common Name (eg, your name or your server's hostname) []:www.gen.com
    Email Address []:gen@qq.com

为CA提供所需的文件及目录

    [root@ _22_ ~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
    [root@ _23_ ~]# touch /etc/pki/CA/{serial,index.txt}
    [root@ _24_ ~]# echo 01 > /etc/pki/CA/serial

https服务器生成私钥

    ]# mkdir /etc/httpd/ssl/
    ]# cd /etc/httpd/ssl
    [root@ _104_ /etc/httpd/ssl]# openssl req -new -key httpd.key -out httpd.csr -days 365
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:CN
    State or Province Name (full name) []:Beijing
    Locality Name (eg, city) [Default City]:Beijing
    Organization Name (eg, company) [Default Company Ltd]:Magedu
    Organizational Unit Name (eg, section) []:Opt
    Common Name (eg, your name or your server's hostname) []:www.phpmyadmin.com
    Email Address []:php@qq.com

    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:

    之后发送给CA主机签署

CA主机签署证书

    [root@ _38_ tmp]# openssl ca -in httpd.csr -out /root/httpd.crt -days 365
    两次回答yes

把证书发送给提供https服务的主机

配置httpd支持使用ssl,及使用的证书

    ]# yum -y install mod_ssl
    ]# vim /etc/httpd/conf.d/ssl.conf
    <VirtualHost _default_:443>
        ServerName www.phpmyadmin.com
        DocumentRoot "/vhost/phpmyadmin/"
        <Directory "/vhost/phpmyadmin/">
            Options None
            AllowOverride None
            require all granted
        </Directory>

    SSLCertificateFile /etc/httpd/ssl/httpd.crt
    SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

物理机IE浏览器访问

导入CA证书到浏览器,然后访问

  • 对phpMyAdmin首页做压力测试
    分别给出并发为10, 20, 50, 100, 200, 500等时的每秒响应数;

      [root@ _13_ ~]# ab -n 1000 -c 10 https://www.phpmyadmin.com/
      This is ApacheBench, Version 2.3 <$Revision: 655654 $>
      Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
      Licensed to The Apache Software Foundation, http://www.apache.org/
    
      Benchmarking www.phpmyadmin.com (be patient)
      Completed 100 requests
      Completed 200 requests
      Completed 300 requests
      Completed 400 requests
      Completed 500 requests
      Completed 600 requests
      Completed 700 requests
      Completed 800 requests
      Completed 900 requests
      Completed 1000 requests
      Finished 1000 requests        
    
      Server Software:        Apache/2.4.6                #web服务器版本
      Server Hostname:        www.phpmyadmin.com            #服务器主机名
      Server Port:            443                            #服务器端口
      SSL/TLS Protocol:       TLSv1/SSLv3,ECDHE-RSA-AES256-GCM-SHA384,2048,256
    
      Document Path:          /                            #测试的页面文档
      Document Length:        23 bytes                    #文档大小
    
      Concurrency Level:      10                            #并发数
      Time taken for tests:   24.976 seconds                #整个测试持续的时间
      Complete requests:      1000                        #完成的请求数
      Failed requests:        0                            #失败的请求数
      Write errors:           0                            #请求写入失败的次数
      Total transferred:      304212 bytes                #所有传输量
      HTML transferred:       23092 bytes                    #所有html传输量
      Requests per second:    40.04 [#/sec] (mean)        #吞吐率,每秒事务数
      Time per request:       249.761 [ms] (mean)            #平均每个请求消耗的时间
      Time per request:       24.976 [ms] (mean, across all concurrent requests) #平均每个请求耗时/并发数
      Transfer rate:          11.89 [Kbytes/sec] received #平均每秒网络上的流量
    
      Connection Times (ms)
                    min  mean[+/-sd] median   max            #网络上消耗的时间分解
      Connect:       37  189  64.0    191     622
      Processing:     2   58  43.4     42     359
      Waiting:        0   42  36.4     29     335
      Total:         54  247  63.0    235     658
    
      Percentage of the requests served within a certain time (ms)
        50%    235                                        #整个场景中所有请求的响应情况,50%的用户响应时间
        66%    249                                        #小于235毫秒,99%的用户响应时间小于476毫秒
        75%    260
        80%    270
        90%    317
        95%    364
        98%    443
        99%    476
       100%    658 (longest request)
    
      并发为10
      ]# ab -n 1000 -c 10 https://www.phpmyadmin.com/
      Requests per second:    36.08 [#/sec] (mean)
    
      并发为20
      ]# ab -n 1000 -c 20 https://www.phpmyadmin.com/
      Requests per second:    35.97 [#/sec] (mean)
    
      并发为50
      ]# ab -n 1000 -c 50 https://www.phpmyadmin.com/
      Requests per second:    33.46 [#/sec] (mean)
    
      并发为100
      ]# ab -n 1000 -c 100 https://www.phpmyadmin.com/
      Requests per second:    33.61 [#/sec] (mean)
    
      并发为200
      ab -n 1000 -c 200 https://www.phpmyadmin.com/
      Requests per second:    32.52 [#/sec] (mean)
    
      并发为500
      ]# ab -n 1000 -c 500 https://www.phpmyadmin.com/
      Requests per second:    19.39 [#/sec] (mean)

原创文章,作者:M20-1--孔祥文,如若转载,请注明出处:http://www.178linux.com/50704

(0)
M20-1--孔祥文M20-1--孔祥文
上一篇 2016-10-12 08:41
下一篇 2016-10-12 10:02

相关推荐

  • CentOS 6上的防火墙策略的保存

    两种iptables的策略保存的方法

    2018-02-27
  • 网络21期第十周博客作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) Centos6启动流程:       POST加电自检 —> BOOT Sequence —> 加载内核启动系统    &n…

    Linux干货 2016-09-15
  • raid介绍

    raid介绍 在生产环境中,服务器所需的存储容量比较大,一般都会选择磁盘阵列来走存储。 阵列的优点 多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供 首先在I/O能力上,多个磁盘并行读写,可以提高读写的速度。 阵列所提供的磁盘冗余,提升存储设配的耐用性。 RAID实现的 外接式磁盘阵列:通过扩展卡提供适配能力 内接式RAID:主板集成RAID控…

    2017-06-24
  • LNMMP架构实现Web动静分离

    前言 前面的文章中说过LAMP架构包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl、PHP或者Python编程语言,而今天要说的LNMMP 和LAMP类似,只是作为Web服务器的不再是Apache而是高性能的Nginx,同时引进Memcached加速缓存效率,用于加快访问速度。 Memcached是一款开源、高性能、分布…

    Linux干货 2015-06-15
  • 八.Linux博客-2016年8月8日sed、vim

    格式说明: 操作 概念 命令 说明及举例 八.sed、vim sed 文本编辑工具 行编辑器,每次取出一行在内存里处理,处理完成后屏幕打印。完成后再取出一行放到内存里处理,覆盖原来内存中的行,循环。。 sed -n '3d' f1 把文件f1中的第三行删掉并不在屏幕上显示 sed -n&n…

    Linux干货 2016-08-24
  • Ansible Conditionals & Loops

     一、条件语句     条件判断语句,就是根据某些变量的值来控制Ansible的执行流程。控制某些主机执行某些操作与不执行某些操作。根据某些操作结果,判断是否执行其它操作等等。     Ansible的条件判断语句只有 when 语句,结合变量使用才能显示出它的价值。when的用…

    Linux干货 2015-11-21