2、nginx负载均衡
(1)、找到nginx配置文件:nginx.conf 如目录:F:\nginx\nginx-1.6.3\conf\nginx.conf
增加以下配置:
我们可以修改nginx的配置文件nginx.conf 达到访问nginx代理服务器时跳转到指定服务器的目的,即通过proxy_pass 配置请求转发地址
#设定负载均衡的服务器列表
upstream zzstxx.com {
#weight参数表示权值,权值越高,被分配到的几率越大
server localhost:8001 weight=5;
server localhost:8002 weight=5;
#每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
ip_hash;
##如果要测试轮询,先去掉ip_hash
}
server {
#侦听80端口
listen 80;
#要和实际访问的域名或IP保持一致
server_name zzstxx.com;
#默认请求zzsy.zzedu.net.cn
location / {
proxy_redirect off;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 1;
proxy_send_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
##需heupstream 配置一致
proxy_pass http://zzstxx.com;
}
.........
注意:
(1)、在使用proxy_pass指令时,如果不想改变原地址中的URI,就不要在URL变量中配置URI 。
(2)、一定要加上proxy_set_header的几个配置,否则代理后的地址无法获取到代理前的地址;会出现在页面上获取request.getServerName()的时候获取的是proxy_pass配置的地址,而不是实际的地址;如proxy_pass配置了localhost,那么实际获取的时候如果没有配置proxy_set_header,就会获取到localhost,而不是实际访问的域名。
3、配置反向代理,虚拟目录
用来在一台机器上可以用域名访问多个应用
location /xy/ {
proxy_redirect off;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
proxy_pass http://127.0.0.1:8002/xy/;
}
注意: proxy_pass 注意后面要加上/,请求http://127.0.01/xy/index.html的时候,会去proxy_pass代理应用下跟目录下找index.html(会把代理的目录/xy替换为/);如果没有/,那么回去 proxy_pass代理应用下 的 /xy/目录下找index.html页面。
4、性能优化
##设置进程数量为自动;nginx会根据CUP的核心数来控制
worker_processes auto;
events {
##用于设置每个工作进程可接收的连接数,
worker_connections 65535;
}
5、tomcat需要修改的内容 server.xml文件增加:
<Engine name=“Catalina” defaultHost=“localhost” jvmRoute=“jvm1”>
多个tomcat中的jvmRoute的名字不能重复。