1准备相关软件
下载nginx:http://nginx.org/
下载tomcat:http://tomcat.apache.org/
2配置tomcat
我的tomcat是在自己的笔记本上同时启动2个tomcat,
1)开始配置第一个tomcat端口号改为18080,其他全部不变,如图
2)配置第2个tomcat,将第一个tomcat复制一份,然后修改server.xml文件(蓝色为需要修改的地方)
第一处修改<Server port="8095" shutdown="SHUTDOWN">的端口号,我的此处改为了8095
第二处修改tomcat端口号,<Connector port="18081" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443" />,此处改为了18081
第三处修改 <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />此处改为了8010
修改完毕,保存
3配置nginx
以下是配置好的完整文件
#user nobody;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;
events {
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;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;passion.wicp.net为服务器的域名,这里修改成你自己的服务器地址
upstream passion.wicp.net {
server localhost:18080; # 第一个为本地tomcat的地址,和我们刚才修改tomcat的端口号一样
server localhost:18081; #第二个本地tomcat地址
}
server {
listen 80;
server_name localhost;
charset utf-8;
#access_log logs/host.access.log main;
location ~ .*.(jsp|do|action)?$ { #所有jsp的页面均交由tomcat处理
index index.html index.htm;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://passion.wicp.net; #转向tomcat处理,此处必须和upstream passion.wicp.net 的一样
client_max_body_size 100m;
}
#设定访问静态文件直接读取不经过tomcat
location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {
expires 30d;
}
location ~ .*.(js|css)?$ {
expires 1h;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
4验证测试
先启动2个tomcat,再启动nginx,为了测试,我把2个tomcat的ROOT的index.jsp的标题分别修改为tomcat1,tomcat2,然后访问passion.wicp.net域名,多刷新几次会发现标题有时是tomcat1有时是tomcat2,说明nginx负载均衡访问了不同的tomcat