您的位置:首页 > 运维架构 > Tomcat

window 环境配置 Nginx1.8+Tomcat7.0 负载均衡+session同步

2016-02-01 15:08 501 查看
环境:
window10
nginx1.8    http://pan.baidu.com/s/1i3ONT1j
Tomcat7.0  http://pan.baidu.com/s/1kTOdXGV

tomcat7.0配置
tomcat 下conf文件夹,修改 server.xml 文件 ,你可以配置n个tomcat,只需要修改如下四处,保证tomcat的端口不冲突 ;
<!-- 第一处,原本是8005, 8102,8103 …… -->
<Server port="8101" shutdown="SHUTDOWN">

<!-- 第二处,原本是8080,8081,8082,…… -->
<Connector port="8081" protocol="HTTP/1.1"   connectionTimeout="20000" redirectPort="8443" />

<!-- 第三处,原本是8009,8201,8202 …… -->
<Connector port="8201" protocol="AJP/1.3" redirectPort="8443" />

<!-- 第四处,增加  jvmRoute="Tomcat1"   <span style="font-family: Arial, Helvetica, sans-serif;">jvmRoute="Tomcat2" …… </span> -->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="Tomcat1">


Nginx1.8配置,下面的文件都不用用记事本打开,保存后可能带有BOM,这样在启动Nginx会有乱码,如果启动出现乱码可以使用 notepad++ 软件打开,格式中使用UTF8无BOM格式;
nginx下conf文件夹,修改nginx.conf文件
#Nginx所用用户和组
#user  niumd niumd;

#工作的子进程数量(通常等于CPU数量或者2倍于CPU)
worker_processes  2;

#错误日志存放路径
error_log  logs/error.log  info;

#指定pid存放文件
pid   logs/nginx.pid;

events {
#允许最大连接数
worker_connections  3048;
}

http {
include       mime.types;
default_type  application/octet-stream;

#access_log  off;
access_log  logs/access.log;

client_header_timeout  3m;
client_body_timeout    3m;
send_timeout           3m;

client_header_buffer_size    1k;
large_client_header_buffers  4 4k;

sendfile        on;
tcp_nopush      on;
tcp_nodelay     on;

#keepalive_timeout  75 20;

include    gzip.conf;
upstream localhost {
#ip_hash 启用表示,之后这个ip将只访问第一次访问的tomcat,session就会是同一个
#ip_hash;
#localhost因为是我本地部署,所以不同的服务器,修改成ip即可
server localhost:8081;
server localhost:8082;
server localhost:8083;
}
server {
#这里的listen 端口号默认是80的但经常被占用,实际发布应该也是80,只要将占用80端口的应用停掉即可
listen       81;
server_name  localhost;

location / {
proxy_connect_timeout   3;
proxy_send_timeout      30;
proxy_read_timeout      30;
#proxy_pass 里访问的是 " upstream localhost  "中的localhost
proxy_pass http://localhost; }
}
}

<pre name="code" class="html">#conf文件夹下,创建 proxy.conf
#复制下面的内容

proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   300;
proxy_send_timeout      300;
proxy_read_timeout      300;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;




<pre name="code" class="html">conf文件夹下创建gzip.conf文件,复制下面的内容

gzip              on;
gzip_min_length      1000;
gzip_types         text/plain text/css application/x-javascript;




启动Nginx, 可以先进入dos命令,进入 nginx文件夹下,使用 nginx -t 检测 nginx.conf是否有误,没有问题后使用 nginx命令回车,就能启动, 任务管理器中会出现nginx应用, nginx.conf文件中 worker_processes  2;参数可以调整;
启动tomcaat,如果端口不被占用应该是可以正常运行的;
将tomcat1,
tomcat2,tomcat3 下webapps\ROOT文件夹中的 index.jsp 加上标识 ,
在body标签开始处增加 tomcat1 ,tomcat2, tomcat3
访问验证 配置 :访问:http://localhost:81 ,刷新 页面, 看看页面是不是访问不同的tomcat 
(不是每次都切换,可以是访问3次tomcat1之后,才会访问tomcat2……),如果是调用不同的tomcat就对了;到此测试应该是没有问题的;
nginx.conf文件中 将 ip_hash 前的“#”去掉,那这个用户第一次请求了哪台服务器,之后就一直请求这台服务器;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java