天天看点

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命令挂载光盘到前面建立的/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测试网站压力)