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源的地方
在/mnt下建立cdrom文件夹
在CentOS-Media.repo中配置如下:
使用mount命令挂载光盘到前面建立的/mnt/cdrom文件夹
安装bind nginx httpd mod_ssl
安装nginx时注意:默认的本地源中没有,我们把虚拟机设置为NET模式,通过网络源安装nginx,当然上面这些都是可以通过网络源安装的,如果是通过网络源安装则不需要配置本地yum源
我们接下来的实验是在仅主机模式下
编辑网卡配置文件
因为我们要使用域名解析,因此要将ip固定
重启网卡之后发现更改的ip生效
配置named实现域名正反向解析
我们先启动一下named并且查看其状态发现是可以正常启动的
在/etc/named.conf下修改如下地方
正反向解析
在/var/named中建立正向区域文件coco.com.zone配置正向解析内容
在/var/named中建立正向区域文件203.222.192.in-addr.arpa.zone配置反向解析内容
更改属组
使用nslookup测试发现没有这个命令
下载bind-utils
使用nslookup发现可以正常解析
在客户机上配置DNS服务器地址
发现在客户机上无法解析
设置防火墙策略关闭SELINUX
直接关闭防火墙
此时客户机可以正常解析域名
配置Apache服务
编辑/etc/httpd/conf/httpd.conf
打开8080端口,加载伪静态模块
修改如下配置
基于域名,基于端口,基于IP配置分别如下
使用httpd -t参数查看语法
建立如下目录,添加内容
给网卡添加“别名”用于测试多IP
开启apache服务
客户端测试Apache服务
Apache配置https
配置本地CA生成公钥和私钥
配置/etc/httpd/conf.d/ssl.conf
修改公钥私钥的位置
由于这是自签证书因此显示证书错误,但是我们可以看到前面的http变成了https这两个协议是完全不同的,https更加安全
配置nginx
使用service nginx start启动nginx失败,使用netstat -anputl发现80端口被httpd服务占用,我们关闭apache服务,这时候再重启nginx服务就可以启动成功了
启动成功后这是nginx正常运行的提示页面
修改nginx的配置文件
重启服务,客户机页面可以正常访问
使用openssl生成证书配置Nginx上的https
openssl genrsa -out my.key 生成rsa算法的私钥
openssl req -new -x509 -key my.key -out my.crt 生成子签名证书,相当于公钥
客户机上测试nginx https配置成功
使用ab命令测试网站压力
因为这是静态页面,对相同页面同时发起20000次请求发现apache需要4.192秒而nginx则只需要2.193秒