免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3256 | 回复: 0
打印 上一主题 下一主题

Nginx+tomcat配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-09 14:13 |只看该作者 |倒序浏览
发这个帖子可能是在班门弄斧,但还是希望跟大家分享一下。
准备的环境
nginx-1.1.12
tomcat5
windows7

Nginx配置
主要是修改conf/nginx.conf文件
  1. #用户组表示哪个用户组下的用户启动。格式为:user username groupname; username为用户名,groupname为组名
  2. #user  nobody;
  3. #工作进成数(通常写CPU数量或者2倍的CPU数量)
  4. worker_processes  2;
  5. #日志输出位置,日志输出格式[debug|info|notice|warn|error|crit]
  6. #error_log  logs/error.log;
  7. #error_log  logs/error.log  notice;
  8. error_log  logs/error.log  info;
  9. #进程号保存文件
  10. pid        logs/nginx.pid;

  11. #指定最大的文件描述符值,可以通过这个进程打开 (默认没有该设置)
  12. #worker_rlimit_nofile 1024;

  13. events {
  14.     #连接数,默认1024
  15.     worker_connections  1024;
  16. }


  17. http {
  18.     #文件扩展名与文件类型映射表
  19.     include       mime.types;
  20.     default_type  application/octet-stream;
  21.     #日志格式
  22.     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  23.                       '$status $body_bytes_sent "$http_referer" '
  24.                       '"$http_user_agent" "$http_x_forwarded_for"';

  25.     #access_log  logs/access.log  main;

  26.     sendfile        on;
  27.     tcp_nopush     on;
  28.     tcp_nodelay    on;

  29.     client_header_timeout  3m;   
  30.     client_body_timeout    3m;   
  31.     send_timeout           3m;   
  32.    
  33.     client_header_buffer_size    1k;   
  34.     large_client_header_buffers  4 4k;

  35.     #keepalive_timeout  0;
  36.     #长连接超时时间
  37.     keepalive_timeout  300;
  38.    
  39.     #数据压缩流,可提高效率
  40.     include gzip.conf;
  41.     #设定负载均衡的服务器列表
  42.      upstream myserver {
  43.              #weigth参数表示权值,权值越高被分配到的几率越大
  44.              #Nginx负载均衡配置没有apache那么复杂只需要配置IP和端口即可
  45.              server 127.0.0.1:8888   weight=1;
  46.              server 127.0.0.1:8887   weight=1;
  47.      }

  48.     server {
  49.         listen       8088;
  50.         server_name  127.0.0.1;
  51.         
  52.         #字符集编码
  53.         charset utf-8;
  54.         #设定本虚拟主机的访问日志
  55.         access_log  logs/host.access.log  main;
  56.         #默认打开文件
  57.         location / {
  58.             proxy_connect_timeout 3;   
  59.             proxy_send_timeout 30;   
  60.             proxy_read_timeout 30;   
  61.             proxy_pass  http://myserver;
  62.         }
  63.     }
  64. }
复制代码
在conf目录下建立文件
gzip.conf文件
内容如下:
  1. gzip              on;   
  2. gzip_min_length      1000;   
  3. gzip_types         text/plain text/css application/x-javascript;  
复制代码
Tomcat配置
主要是server.xml文件
  1. <Server port="9005" shutdown="SHUTDOWN"><!--如果在同一台机器部署多个tomcat 这个端口不能相同-->
复制代码
  1.   <Connector port="8887"  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
  2.                enableLookups="false" redirectPort="8443" acceptCount="100"
  3.                debug="0" connectionTimeout="20000"
  4.                disableUploadTimeout="true"  URIEncoding="utf-8"/><!--同上,并且该端口在nginx配置用到,其他不废话了-->
复制代码

  1. <Host name="localhost" appBase="D:\work\work_tet\test\WebRoot"
  2.        unpackWARs="true" autoDeploy="true"
  3.        xmlValidation="false" xmlNamespaceAware="false"><!--配置工程路径-->
复制代码
session复制配置

  1. 在Host下 放开注释即可,注释内容如下:
  2. <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
  3.                  managerClassName="org.apache.catalina.cluster.session.DeltaManager"
  4.                  expireSessionsOnShutdown="false"
  5.                  useDirtyFlag="true"
  6.                  notifyListenersOnReplication="true">

  7.             <Membership
  8.                 className="org.apache.catalina.cluster.mcast.McastService"
  9.                 mcastAddr="228.0.0.4"
  10.                 mcastPort="45564"
  11.                 mcastFrequency="500"
  12.                 mcastDropTime="3000"/>

  13.             <Receiver
  14.                 className="org.apache.catalina.cluster.tcp.ReplicationListener"
  15.                 tcpListenAddress="auto"
  16.                 tcpListenPort="4002"
  17.                 tcpSelectorTimeout="5000"
  18.                 tcpThreadCount="6"/>

  19.             <Sender
  20.                 className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
  21.                 replicationMode="pooled"
  22.                 ackTimeout="15000"/>

  23.             <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
  24.                    filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
  25.                   
  26.             <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
  27.                       tempDir="/tmp/war-temp/"
  28.                       deployDir="/tmp/war-deploy/"
  29.                       watchDir="/tmp/war-listen/"
  30.                       watchEnabled="false"/>
  31.                      
  32.             <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
  33.         </Cluster>


  34.      <Context path="" docBase="." privileged="true"/>
复制代码
经过实验是可以实现负载均衡和复制session的。但有个问题是怎么设置或测试动态并发数呢, apache里面有ab(测试静态的) ,nginx用什么测试呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP