Windows下 Nginx+Tomcat6+Memcached反向代理负载均衡(HTTP+TCP)
来源:互联网 发布:网络远程教育 编辑:程序博客网 时间:2024/06/05 06:22
0、资料准备
下载:nginx-1.10.1
下载:memcached.exe
准备:tomcat6
准备:memcached所需JAR包
1、安装nginx,安装完成启动;
(1)双击nginx.exe启动
(2)DOS启动,寻到文件后 start nginx
2、nginx.conf配置
(1)一般配置
#Nginx所用用户和组,window下不指定
#user nobody;
#工作的子进程数量(通常等于CPU数量或者2倍于CPU)
worker_processes 2;
#错误日志存放路径
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
#指定pid存放文件
pid logs/nginx.pid;
events {
#使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue,window下不指定。
#use epoll;
#允许最大连接数
worker_connections 2048;
}
(2)#TCP负载均衡stream
stream {
upstream cloudsocket {
hash $remote_addr consistent;
server 127.0.0.1:10519 weight=5 max_fails=3 fail_timeout=30s;
server 127.0.0.1:10518 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 10511;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass cloudsocket;
}
}
(3)#HTTP负载均衡配置http
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 off;
access_log logs/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
#keepalive_timeout 65;
#开启gzip压缩
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
#设定请求缓冲
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
#include gzip.conf;
upstream localhost {
#根据ip计算将请求分配各那个后端tomcat,许多人误认为可以解决session问题,其实并不能。
#同一机器在多网情况下,路由切换,ip可能不同
#该参数必须,不然后面通过DCN网络使用nginx反向代理只能看到登录界面首页,输入账号密码不能登录到系统
ip_hash;
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;
}
#调整默认端口80为:1080或者其他时,记得调整proxy_set_header Host $host:1080或其他;
server {
listen 1080;
server_name localhost;
#charset koi8-r;
#设定本虚拟主机的访问日志
access_log logs/host.access.log;
location / {
proxy_pass http://localhost;
proxy_redirect off;
proxy_set_header Host $host:1080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 1; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 1; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 1; #连接成功后,后端服务器响应时间(代理接收超时)
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
client_max_body_size 10m; #允许客户端请求的最大单文件字节数
client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,
proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
3、配置2个tomcat实例
tomcat1
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
tomcat2
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
4、若在同一台机器上的两个tomcat注意相关的端口
tomcat1
<Server port="8010" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="8090" protocol="AJP/1.3" redirectPort="8443" />
tomcat2
<Server port="8011" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="8091" protocol="AJP/1.3" redirectPort="8443" />
5、阶段测试:
http://localhost:1080/
6、Memcached安装配置
(1)安装
memcached.exe –d install
(2)启动
memcached -d start
(3)查看
tasklist /fi "imagename eq memcached.exe"
(4)memcached的配置
Tomcat要支持memcached管理Session,需要调用一些jar库文件如下,下载后,将这些库文件放到tomcat\lib目录下。
为Tomcat配置memcached配置文件目录:tomcat\conf\context.xml,记得两个Tomcat都要配的哦。打开配置文件,在<Context>...</Context>节点中添加如下内容:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:127.0.0.1:11211"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico|jpeg|htm|html)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
copyCollectionsForSerialization="false"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>
- Windows下 Nginx+Tomcat6+Memcached反向代理负载均衡(HTTP+TCP)
- 反向代理负载均衡Nginx的http和tcp代理
- Windows下Apache+Tomcat反向代理负载均衡(HTTP)
- Windows+Nginx+Memcached+Tomcat6负载均衡
- Windows+tomcat6+nginx+memcached实现负载均衡
- 【Nginx】Http负载均衡与反向代理
- nginx反向代理实现http负载均衡
- Nginx配置文件的常用设置(附详细说明及Nginx的proxy负载均衡、memcached负载均衡、反向代理)
- Nginx服务器安装,高性能的HTTP、TCP、反向代理、负载均衡等服务和配置
- 反向代理负载均衡Nginx
- nginx反向代理,负载均衡
- 负载均衡 反向代理 nginx
- nginx 反向代理-负载均衡
- Nginx 反向代理 + 负载均衡
- nginx反向代理负载均衡
- Nginx HTTP负载均衡/反向代理的相关参数测试
- Nginx HTTP负载均衡/反向代理的相关参数测试
- Nginx HTTP负载均衡/反向代理的相关参数测试
- setVisibility()参数
- oracle11g 导出表报EXP-00011:table不存在。
- Android View类中的生命周期是怎样的?
- Android蓝牙通讯模块
- Android第一行代码学习笔记六----手机多媒体
- Windows下 Nginx+Tomcat6+Memcached反向代理负载均衡(HTTP+TCP)
- Web Service (四) 手动发布Web Service接口-CXF与Spring集成(实战)
- Qt中pro、pri文件的语法介绍
- universal-image-loader的配置
- VS编译器,代码生成设置中“/ML” 在VS2005的时候已经被移除了。
- asponse.cell读取excel内容
- 时间戳
- Web Service (二) CXF自动发布Web Service(No Spring)
- Linux 使用wget 命令下载JDK的方法