文章目录
三大Web服务器对比
Apache
1.简介
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页,它是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。Apache支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。
HTML 超文本标记语言
HTTP 超文本传输协议
2.装包配置启服务
软件包:httpd
服务名:httpd
配置文件:/etc/httpd/conf/httpd.conf(主配置文件)
- Listen:监听地址:端口(80)
- ServerName:本站点注册的DNS名称
- DocumentRoot:网页根目录
- DirectoryIndex:起始页/首页文件名
/etc/httpd/conf.d/*.conf(调用配置文件)为每个虚拟站点添加配置
默认页面路径:/var/www/html
起停/服务:systemctl start/stop httpd
端口号:80
3.拓展
不同web站点的区分方式:
基于域名的虚拟主机
基于端口的虚拟主机
基于ip地址的虚拟主机
访问出现测试页面的问题:
没有网页文件
网页文件名称不是index.html
httpd的访问控制规则拒绝
优缺点:
优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。Apache是静态解析,适合静态
HTML、图片等,rewiter重写比nginx强大。
缺点:配置相对复杂,自身不支持动态页面
Nginx
1.简介
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。其特点是占有内存少,并发能力强,易于开发,部署方便。Nginx 支持多语言通用服务器。
2.装包配置启服务
下载官网源码包http://nginx.org/对源码包进行解压编译安装
为什么要对源码包进行源码编译?
因为nginx是C语言编写的,要将它转换成计算机能够识别的二进制语言
需安装编译工具gcc、make,使nginx支持正则的工具pcre-devel
自动生成目录:/usr/local/nginx/
conf存放配置文件 sbin存放主程序
html存放网站页面 logs存放日志
起服务:sbin/nginx(相对路径)
停服务:sbin/nginx -s stop
重新加载配置文件:sbin/nginx -s reload
查看nginx版本:sbin/nginx -V
3.Nginx其他功能
-
增加网站认证功能(访问网站需要输入用户名密码)
-
搭建安全加密网站(需要安装openssl-devel模块)
对称算法(单机数据加密)使用相同字符串加密或解密
非对称算法(网络数据加密)使用公私钥加密解密
-
地址重写(可以定义用户的访问路径可以看到的实际内容)
-
缓存文件在客户端(用户如果反复访问服务器的相同文件可以缓存到客户机,避免服务器反复传送相同文件,节约时间)
-
支持超长地址栏(默认情况下不支持超长地址栏,会报414错误)
-
Session共享Cookies保持(避免有密码重复登录的问题,所以把Session统一管理到Memcache)
4.反向代理(通过组建后台集群提高网站性能)
集群优化:
- 调节权重定义集群主机任务的分配量
- 配置健康检查
- 相同客户机访问相同服务器(避免重复登录的问题)
- 添加down标记
5.拓展
HTTP常见错误代码
- 200:一切正常
- 400:请求语法错误
- 401:访问被拒绝(账户或密码错误)
- 403:资源不可用(禁止访问),通常由于服务器上文件或目录的权限设置导致
- 404:无法找到页面位置(资源被删除或访问错路径)
- 414:请求URl头部太长
- 500:服务器内部错误
- 502:服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法应答Bad Gateway(一般是FastCGI问题)
优缺点:
优点:轻量级Web服务器,可做4/7层代理,支持大量高并发,配置简单运行稳定,社区活跃
缺点:默认不支持动态请求,做后端服务器时,只能通过端口来检测服务器健康状态,不支持URl检测
Tomcat
1.简介
Tomcat 是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。
2.装包配置启服务
软件包:apache-tomcat
tomcat只能运行在java环境,所以需要安装Java-1.8.0-openjdk(java程序运行环境包)
tomcat目录:
- bin:存放主程序
- logs:存放日志
- conf:存放配置文件
- webapps:存放页面位置
- lib:存放库文件(功能文件)
- work:存放编译后页面文件
启服务:bin/startup.sh
停服务:bin/shutdown.sh
配置文件:配置文件中unpackWARS="true"可以自动解war包
可以自定义用户访问页面
prefix="自定义日志名"suffix=“日志名后缀”
pattem=“日志输出格式”
端口:tomcat默认会占用8080、8005、8009和8443(安全加密端口)
3.拓展
优缺点:
优点:动态解析容器,处理动态请求,是编译JSP/Servlet的容器
缺点:属于java服务器,只适合处理java动态页面,处理静态请求能力不如apache和nginx
m=“日志输出格式”
端口:tomcat默认会占用8080、8005、8009和8443(安全加密端口)
3.拓展
优缺点:
优点:动态解析容器,处理动态请求,是编译JSP/Servlet的容器
缺点:属于java服务器,只适合处理java动态页面,处理静态请求能力不如apache和nginx