服务器集群
J2EE服务器
最典型的是Tomcat,是一个Servlet容器,Tomcat处理静态页面效率很低,并发量一般不超过500
web服务器 :
基于http请求提供web服务 nginx Apache httpServer 侧重点在于提供http或https的服务
特点是可以处理高并发(作为集群的前端服务器)例如Apache 和 nginx
集群的好处:
1、 解决高并发
2、 解决单点故障,提高稳定性
Apache 和 nginx(web服务器)
1. 多台集群机器联合处理一个任务。
1. 一台机器处理不同的多个任务。
特点:
处理静态数据速度快(自动html静态数据的缓存)
并发数一般要比J2EE服务器要高。
192.168.1.10
Apache
Weblogic
Tomcat
web服务器:
nginx
中文帮主文档:
tengine:
官网:http://tengine.taobao.org/
安装:
安装之前准备
1、 依赖 gcc openssl-devel pcre-devel zlib-devel
2、 安装:yum install gcc openssl-devel pcre-devel zlib-devel
3、创建用户和用户组。为了方便nginx运行而创建组:groupadd -r nginx
创建用户:useradd -r -g nginx -M nginx -M 表示不创建用户的家目录。
源码安装
注册为系统服务:
在 /etc/init.d/目录下添加脚本(tengine脚本文件老师已经提供)
修改脚本的执行权限 : chmod 755 nginx
注册完成后重新加载 service nginx reload
(重启的服务名就是脚本的名字)
开启服务 : service nginx start
查看进程:ps aux | grep nginx
master process 管理work process
nginx.conf
位置 : /usr/tengin/conf
httpd.conf
在tomcat的日志记录客户端的IP地址
在nginx配置文件中加: proxy_set_header Y-Real-IP $remote_addr;
在tomcat的conf/server.xml配置文件中修改
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%{Y-Real-IP}i %l %u %t "%r" %s %b" />
反向代理:
配置反向代理upstream
weight可以省略
配置location
Tengine配健康检查:
帮助页:
注意其中的HEAD后的换成项目中抽查的一个页面 例如 /index.jsp
cluster配置:该指令可以打开后端服务器的健康检查功能。
server配置:让前台能够显示健康检查的结果 例如访问地址: http://node1/status
Session 处理
1、session复制
tomcat 本身带有复制session的功能。(不讲)
2、共享session
需要专门管理session的软件,
memcached 缓存服务,可以和tomcat整合,帮助tomcat共享管理session。
共享session
搭建缓存服务器:
安装memcached
1、安装libevent
2、安装memcached
3、启动memcached
memcached -d -m 128m -p 11211 -l 192.168.197.128 -u root -P /temp/
-d:后台启动服务
-m:缓存大小
-p:端口
-l:IP
-P:服务器启动后的系统进程ID,存储的文件
-u:服务器启动是以哪个用户名作为管理用户
yum安装:yum install memcached-devel
3、拷贝jar到tomcat的lib下
4、配置tomcat,每个tomcat里面的context.xml中加入
标记处修改为缓存服务器地址
双节点:
测试jsp
注意:设置共享session需要各个服务器时钟一致
安装:yum install ntpdate
同步:ntpdate -u ntp.sjtu.edu.cn
复制session
nginx会话保持:
访问控制:
通过地址限制:
模块:ngx_http_access_module
配置范例:
通过密码限制
加密工具安装:
yum install httpd-devel
htpasswd -cm 路径 用户名
/usr/tengine-2.1.0/conf/htpasswd
目录文件索引:
注意:所访问的目录页面必须有相应的权限
server配置
nginx伪静态规则
要将http://dede.com/index.php?t=3用伪静态规则改写成http://dede.com/t3.html,即可在nginx的conf/nginx.conf里面添加即可。
在location / {}里添加,如:
location / {
root D:/phpweb/wwwroot;
index index.php index.html index.htm;
rewrite ^(.*)/t(\d+)\.html$ $1/index.php?t=$2 last;
}
仔细观察 rewrite ^(.*)/t(\d+)\.html$ $1/index.php?t=3 last;其实感觉nginx的伪静态规则蛮好写的。就是用正则的基础上,一个rewrite来声明,然后^是伪静态规则开头,(.*)匹配任意字符,这里匹配的就是域名了,t就是你在这里想加的字符,如你可以加apple、orange这样的分类名了,(\d+)匹配的是数字,\.html匹配的是后缀,$就是正则匹配的结束。后面半部分就是要改写的url了,用$1打头,表示域名,/index.php?t=3就是要改写的URL,用last;结束即可。
注:客户在访问服务器时,浏览器中显示的地址信息是静态的地址信息(http://dede.com/t3.html),经过nginx的rewrite中的正则表达式( ^(.*)/t(\d+)\.html$ )匹配到合适的地址后,指定到后面的访问路径($1/index.php?t=3 last)这才是真正的服务器数据的访问地址,然后向服务器发起请求。
Apache
就是apache http server
简单安装:yum install httpd
Apache和tomcat的连接
apache 连接tomcat
连接方法:两种
基于ajp协议方式连接,基于二进制
基于HTTP协议连接
两种连接工具:
Proxy:mod_proxy.so
Connectors:mod_jk.so
本文暂时没有评论,来添加一个吧(●'◡'●)