天天看點

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

Apache是一款非常優秀的Web伺服器,同時它也是世界上使用最多的Web伺服器,Nginx是反向代理伺服器的鼻祖,它比Apache更小功能也更加強大,在Web時代隻有Nginx和Apache才能抗衡,而微軟的IIS伺服器由于它無法跨平台,并且功能具有局限性,被很多人逐漸抛棄了,DNS是用來做域名解析的,由于我們要做基于域名通路網頁,是以我們需要配置DNS。我們以下的測試則是圍繞Apache和Nginx,我們實作的功能有Apache的基于域名,基于端口,基于IP以及僞靜态的配置,同時我們配置了https,做了CA自簽證書,我們在Nginx上做了基于域名的配置,同時也配置了https,https和http協定完全是不同的兩種協定,這兩者最大的差別就是https非常的安全,在配置https的時候使用了RSA算法生成公鑰和私鑰,但是由于生成的是自簽證書,是不受信任的。在配置這兩個Web服務之前我們做了域名解析服務DNS,最後我們使用ab指令分别對兩個Web伺服器進行20000次壓力測試。驗兩個Web伺服器的速度和各項名額。這篇文章我寫的很全,涉及到的地方較廣,希望能幫到大家,另外如遇到有錯誤的地方請大家幫忙指正。

實驗中使用的服務機為CentOS7                          192.222.203.100

實驗中使用的客戶機為WindowsServer2008R2  192.222.203.101

在CentOS7中安裝的工具群組件有bind bind-utils httpd nginx mod_ssl

配置本地yum源

編輯/etc/yum.repos.d下的CentOS-Media.repo檔案,這裡是編輯存放本地yum源的地方

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

在/mnt下建立cdrom檔案夾

在CentOS-Media.repo中配置如下:

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

使用mount指令挂載CD光牒到前面建立的/mnt/cdrom檔案夾

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

安裝bind nginx httpd mod_ssl

安裝nginx時注意:預設的本地源中沒有,我們把虛拟機設定為NET模式,通過網絡源安裝nginx,當然上面這些都是可以通過網絡源安裝的,如果是通過網絡源安裝則不需要配置本地yum源

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

我們接下來的實驗是在僅主機模式下

編輯網卡配置檔案

因為我們要使用域名解析,是以要将ip固定

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

重新開機網卡之後發現更改的ip生效

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

配置named實作域名正反向解析

我們先啟動一下named并且檢視其狀态發現是可以正常啟動的

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

在/etc/named.conf下修改如下地方

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

正反向解析

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

在/var/named中建立正向區域檔案coco.com.zone配置正向解析内容

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

在/var/named中建立正向區域檔案203.222.192.in-addr.arpa.zone配置反向解析内容

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

更改屬組

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

使用nslookup測試發現沒有這個指令

下載下傳bind-utils

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

使用nslookup發現可以正常解析

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

在客戶機上配置DNS伺服器位址

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

發現在客戶機上無法解析

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

設定防火牆政策關閉SELINUX

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

直接關閉防火牆

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

此時客戶機可以正常解析域名

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

配置Apache服務

編輯/etc/httpd/conf/httpd.conf

打開8080端口,加載僞靜态子產品

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

修改如下配置

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

基于域名,基于端口,基于IP配置分别如下

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

使用httpd -t參數檢視文法

建立如下目錄,添加内容

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

給網卡添加“别名”用于測試多IP

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

開啟apache服務

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

用戶端測試Apache服務

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

Apache配置https

配置本地CA生成公鑰和私鑰

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

配置/etc/httpd/conf.d/ssl.conf 

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

修改公鑰私鑰的位置

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

由于這是自簽證書是以顯示證書錯誤,但是我們可以看到前面的http變成了https這兩個協定是完全不同的,https更加安全

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

配置nginx

使用service nginx start啟動nginx失敗,使用netstat -anputl發現80端口被httpd服務占用,我們關閉apache服務,這時候再重新開機nginx服務就可以啟動成功了

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

啟動成功後這是nginx正常運作的提示頁面

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

修改nginx的配置檔案

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

重新開機服務,客戶機頁面可以正常通路

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

使用openssl生成證書配置Nginx上的https

openssl genrsa -out my.key     生成rsa算法的私鑰

openssl req -new -x509 -key my.key -out my.crt   生成子簽名證書,相當于公鑰

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

客戶機上測試nginx https配置成功

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)

使用ab指令測試網站壓力

因為這是靜态頁面,對相同頁面同時發起20000次請求發現apache需要4.192秒而nginx則隻需要2.193秒

Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)
Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)Linux-Web伺服器綜合測試(配置本地YUM源,DNS,Apache,Nginx,ab測試網站壓力)