Nginx与tomcat的集群搭建
首先下载好Tomcat与Nginx
- 你可以安装多个tomcat的,然后在它的conf目录下的server.xml 里需要修改它的三个地方配置,保证每个tomcat的端口号不能相同!
- 然后安装Nginx: tar -zxvf nginx-1.7.4.tar.gz
- 进入nginx-1.7.4,执行./configure 命令
- 然后这个时候可能会出现错误,因为你缺少gcc的依赖
- yum -y install gcc
- 再次执行./configure 可能你还会报错误 因为你还缺少依赖
- yum install pcre-devel
- 再次执行./configure 你可能一样还会出错
- yum install zlib-devel
- 那么 现在应该是没问题了
OK,现在可以执行make 了。 如果你想使用openssl 功能,sha1 功能。 那么安装openssl ,sha1
吧, 安装openssl yum install openssl openssl-devel 安装sha1
yum install perl-Digest-SHA1.x86_64
开启ssl 模块 执行./configure --with-http_ssl_module
启用“server+status"页,执行./configure --with-http_stub_status_module
两个都启动,执行./configure --with-http_stub_status_module --withhttp_ssl_module
- 那么configre 就通过了
- 执行make
- 执行make install
- 至此nginx安装完成
下面就来配置环境变量 在/etc/profile 中加入: export NGINX_HOME=/usr/local/nginx(注意这里是nginx默认安装的路径,对着我这个写就可以了)
export PATH=NGINX_HOME/sbin 保存!
执行 source /etc/profile ,使配置文件生效。
执行 nginx -v,就能看到版本了,说明nginx 安装成功了
那么现在进入配置负载均衡:
进入它默认的安装路径
- cd /usr/local/nginx
- 进入 cd /conf
- vi nginx.conf
- 在/usr/local/sbin 里面启动Nginx
- 要注意的是 Nginx的默认端口号也是80 也是可以在Nginx.conf 里面修改
- ./nginx 启动; ./nginx -s stop 关闭; ./nginx -s reload重启
Nginx的负载均衡算法:- 1.轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
- 2.weight(权重): 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
upstream tomcat8{
server 39.107.120.216 weight=10;
server 39.107.120.216 weight=10;
}
- 3.ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不同的问题。
例如:
upstream tomcat8{
ip_hash;
server 39.107.120.216;
server 39.107.120.216;
} - 4.fair(第三方):按照后端服务器的响应时间来分配请求,响应时间越短的越先分配
列如:
upstream tomcat8{
fair;
server 39.107.120.216;
server 39.107.120.216;
} - 5.url_Hash(第三方):按照访问的url进行hash运算然后根据结果来分配请求,让每一个url都能定向到固定的服务器,后端服务器为缓存比较有效;
例如:
upstream tomcat8{
server 39.107.120.216:3128;
server 39.107.120.216:3128;
hash $request_uri;
hash_method crc32;
} - 6.least-conn(最小连接数)
配置很简单 有疑问大家也可以提