admin 管理员组文章数量: 887053
2024年1月14日发(作者:用php建网站用到eclipse)
Nginx+Tomcat 集群配置
Nginx对处理静态文件(如html、jpg等)的性能十分优异,具有高并发、占用资源低、扩展性强的特点。Nginx的这个特点,对于专注于处理java的tomcat来说,可以说是个完美的搭档。生产环境下,已经取代早期的apache+tomcat,并且还可以使用Nginx结合jvm_router这个国人开发的扩展,做下tomcat的集群。
配置环境
两台服务器:192.168.0.239 192.168.0.240
操作系统:CentOS 6.3
Jdk:
Tomcat :6.0.35
Nginx :nginx-1.2.4
安装jdk
在第一台机器,192.168.0.239(以后称为A)安装JDK
1. 使用命令 chmod +x 赋予jdk执行权限。
2. 安装jdk,使用命令: ./
3. 配置环境变量,拷贝jdk的目录到/usr下,/etc/profile文件的末尾添加如下:
export JAVA_HOME=/usr/jdk
export PATH=$PATH:$JAVA_HOME/bin
exportCLASSPATH=.:$JAVA_HOME/lib/:$JAVA_HOME/lib/
4. 使用命令:source /etc/profile ,使配置即刻生效。然后 测试jdk是否成功:java -version
5. 第二台服务器同上安装jdk
安装Tomcat
1. 下载,解压到/usr目录下,并重命名为tomcat
2. 进入/usr/tomcat的bin目录下,使用命令 chmod +x ./* 给bin目录下的文件,赋予可执行权利。
3. 进入/usr/tomcat/conf目录下,编辑文件,增加admin管理员,并加入manager组。效果如下:
4. 编辑tomcat下conf目录下的文件,编辑Connector,更改端口为:8090,并调优线程数,具体如下:
maxThreads=”1500” minSpareThreads=”100” maxSpareThreads=”500” acceptCount=”1000” enableLookups=”false” redirectPort=”8443″ connectionTimeout=”20000″/> 注释: maxThreads:最大线程数,将其中的maxThreads=”150″ 修改为maxThreads=”1500″ ,即可以最大承载1500个并发事务。一个用户基本上请求一次服务需要二个线程进行支持(一个是request,一个是response)。这样IGRP就可以承载最高750个用户的完全并发。maxThreads默认tomcat配置为200个。 minSpareThreads: 最小备用线程数,tomcat启动时的初始化的线程数,默认是25. 这个要根据负载情况自行调整了。太小了就影响反应速度,太大了白白占用资源 maxSpareThreads:最大备用线程数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100,一般是设置的跟maxThreads一样大,这个值应该是主要根据应用的访问峰值与平均值来权衡配置的。如果设的较小,可以保证接受的请求较快相应,但是超出的请求可能就直接被拒绝;如果设的较大,可能就会出现大量的请求超时的情况,因为我们系统的处理能力是一定的。 enableLookups:设置为“false”来关闭DNS 查询。如果为true,则可以通过调用oteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址。 5. 在中,设置JAVA_OPTS='-Xms1024m –Xmx1512m' 注释:设置JAVA_OPTS='-Xms256m -Xmx512m',表示初始化内存为256MB,可以使用的最大内存为512MB。置。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80% 6. 修改文件的Engine部分,增加jvmRoute,此处为nginx负载时候使用。此处为mycat1,第二台设置为mycat2 7. 在另一台服务器192.168.0.240做如上同样设置 安装Nginx 1. 使用命令 tar -zxvf 解压nginx,并把解压后的目录拷贝到/usr下,重名为nginx 2. 下载,解压缩后,进入pcre目录,使用命令 ./configure --prefix=/usr/local/pcre &&make &&make install 编译并安装。 3. 下载 ,解压后,拷贝目录到/usr下。 4. 进入/usr/nginx 目录,使用命令:patch -p0 < ../nginx_upstream_jvm_route/jvm_ 5. 创建用户www及用户组www。编译、安装nginx: ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/home/yanzi/pcre-8.20 --add-module=../nginx_upstream_jvm_route/ --user=www --group=www make make install *标红部分为pcre的源目录,切记 配置Nginx 1. 更改的events部分,修改后如下: 2. 修改,增加upstream段,此处为集群服务器群。 upstream mybackend { server 192.168.0.239:8090 srun_id=mycat1; server 192.168.0.240:8090 srun_id=mycat2; jvm_route $cookie_JSESSIONID|sessionid reverse; } 在http段内,增加如下设置: sendfile on; keepalive_timeout 65; include ; default_type application/octet-stream; charset utf-8; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 300m; tcp_nopush on; tcp_nodelay on; client_body_buffer_size 512k; proxy_connect_timeout 5; proxy_read_timeout 60; proxy_send_timeout 5; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; 3 增加server段,对于静态文件如html、js、jpg由nginx处理,jsp转向tomcat处理。 server { listen 80; server_name 192.168.0.239; charset utf-8; #access_log logs/ main; location / { root /web; index ; } error_page 404 ; # redirect server error pages to the static page / # error_page 500 502 503 504 /; location = / { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # location ~ .jsp$ { proxy_set_header Host $host; proxy_set_header X-Forwarded-For proxy_pass mybackend; } } $remote_addr;
版权声明:本文标题:nginx_+tomcat集群配置 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1705204296h476836.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论