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.www58058.com/50704

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

相關推薦

  • Linux系統啟動基本流程

    Linux開機流程 如下圖 00×01、BISO自檢     硬件檢查,檢查硬件完整性,之后從開機BIOS開機硬件列表選擇BOOT設備     2. 00×02、MBR引導     從bootloader446…

    2017-07-09
  • 第一周-2:Linux部分常用命令使用示例、查看命令行工具使用手冊以及LinuxFHS部分目錄簡介

    一、部分命令使用示例: 1、ifconfg 在命令行界面下或系統配置腳本中用于配置、控制及查詢TCP/IP網絡接口的系統管理工具 [netartisan@localhost 桌面]$ ifconfig eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 &n…

    Linux干貨 2016-11-07
  • shell 腳本編程基礎

    Shell腳本簡介: Shell腳本是一種特殊的程序,它是用戶與linux系統內核之間的一個接口,shell是一個工具程序,在用戶登錄后系統啟動。它解釋并運行由命令行或腳本文件輸入的命令,從而實現用戶與內核間的交互。 Shell腳本:也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的,是利用shell的功…

    Linux干貨 2016-08-21
  • linux入門

    linux入門 Centos中分root用戶和普通用戶,root為超級管理員,幾乎具有所有的系統控制 剛進入linux系統,Ctrl+Alt+F[1-6]可以切換虛擬終端  (tty) 圖形終端:CentOS 6: Ctrl + Alt + F7       CentOS 7:在哪個終端啟動,即位于哪個虛擬終端 偽終端…

    Linux干貨 2017-02-16
  • Linux發展史

    簡述 Linux于1991年10月5日誕生,由Linus torvalds和后面陸續加入的眾多愛好者共同開發完成的操作系統 Linux只表示Linux kernl,但由于習慣用Linux來形容整個基于Linux kernl,使用GNU計劃的各種工具和數據庫的操作系統 Linux的標志 一只名為Tux的企鵝 大家要Linus Torvalds想一只吉祥物,他想…

    2017-03-26
  • N25 – Week 5 blog

    1. 顯示當前系統上root, fedora或user1用戶的默認shell [root@dhcp-10-129-6-166 ~]# grep -E "root|fedora|user1" /etc/passwd | grep -o "[^…

    Linux干貨 2016-12-27
欧美性久久久久