Chinaunix
标题:
Nginx+tomcat配置
[打印本页]
作者:
platformer
时间:
2012-01-09 14:13
标题:
Nginx+tomcat配置
发这个帖子可能是在班门弄斧,但还是希望跟大家分享一下。
准备的环境
nginx-1.1.12
tomcat5
windows7
Nginx配置
主要是修改conf/nginx.conf文件
#用户组表示哪个用户组下的用户启动。格式为:user username groupname; username为用户名,groupname为组名
#user nobody;
#工作进成数(通常写CPU数量或者2倍的CPU数量)
worker_processes 2;
#日志输出位置,日志输出格式[debug|info|notice|warn|error|crit]
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
#进程号保存文件
pid logs/nginx.pid;
#指定最大的文件描述符值,可以通过这个进程打开 (默认没有该设置)
#worker_rlimit_nofile 1024;
events {
#连接数,默认1024
worker_connections 1024;
}
http {
#文件扩展名与文件类型映射表
include mime.types;
default_type application/octet-stream;
#日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
#keepalive_timeout 0;
#长连接超时时间
keepalive_timeout 300;
#数据压缩流,可提高效率
include gzip.conf;
#设定负载均衡的服务器列表
upstream myserver {
#weigth参数表示权值,权值越高被分配到的几率越大
#Nginx负载均衡配置没有apache那么复杂只需要配置IP和端口即可
server 127.0.0.1:8888 weight=1;
server 127.0.0.1:8887 weight=1;
}
server {
listen 8088;
server_name 127.0.0.1;
#字符集编码
charset utf-8;
#设定本虚拟主机的访问日志
access_log logs/host.access.log main;
#默认打开文件
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://myserver;
}
}
}
复制代码
在conf目录下建立文件
gzip.conf文件
内容如下:
gzip on;
gzip_min_length 1000;
gzip_types text/plain text/css application/x-javascript;
复制代码
Tomcat配置
主要是server.xml文件
<Server port="9005" shutdown="SHUTDOWN"><!--如果在同一台机器部署多个tomcat 这个端口不能相同-->
复制代码
<Connector port="8887" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="utf-8"/><!--同上,并且该端口在nginx配置用到,其他不废话了-->
复制代码
<Host name="localhost" appBase="D:\work\work_tet\test\WebRoot"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><!--配置工程路径-->
复制代码
session复制配置
在Host下 放开注释即可,注释内容如下:
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4002"
tcpSelectorTimeout="5000"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
</Cluster>
<Context path="" docBase="." privileged="true"/>
复制代码
经过实验是可以实现负载均衡和复制session的。但有个问题是怎么设置或测试动态并发数呢, apache里面有ab(测试静态的) ,nginx用什么测试呢
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2