文档章节

nginx第二章 nginx+tomcat负载均衡

我爱睡觉
 我爱睡觉
发布于 2017/06/24 16:07
字数 896
阅读 3
收藏 0

nginx+tomcat做负载均衡只需修改配置文件nginx.conf,nginx配置参数说明:

#使用哪个用户启动nginx 前面是用户,后面是组
user www www;

#nginx工作的进程数量,一般认为配置值与机器核数相等为佳
worker_processes 2;

# [ debug | info | notice | warn | error | crit ] 错误日志的位置
error_log /var/htdocs/logs/nginx_error.log crit;

#进程号保存文件
pid /usr/local/nginx/nginx.pid;

#最大文件描述符 建议设置启动nginx的shell可以打开的最大文件描述符

#修改/etc/sysctl.conf,增加fs.file-max=6553560fs.file-max是指系统所有进程一共可以打开的文件数量

#可以使用ulimit -Hn/-Sn查看该值,可以修改/etc/security/limits.conf,增加以下两行,*表示对所有用户有效

#* soft nofile 65535 

#* hard nofile 65535 

#运行/sbin/sysctl -p命令,重新登录shell生效

worker_rlimit_nofile 65535;

events 
{
# use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
use epoll; #使用epoll(linux2.6的高性能方式,了解epoll相关知识和原理可上网络搜索)
worker_connections 51200; #每个进程最大连接数(最大连接=连接数x进程数)
}

http 
{
#文件扩展名与文件类型映射表,具体查看同目录下的mime.types
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"';


log_format download '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$http_range" "$sent_http_content_range"';

#默认编码
charset gb2312,utf-8;

server_names_hash_bucket_size 128;
#开启高效文件传输模式
sendfile on;
#以下两个选项用于防止网络阻塞 参考http://i.cn.yahoo.com/nesta2001zhang/blog/p_104/ 
tcp_nopush on;
tcp_nodelay on;


#长链接超时时间
keepalive_timeout 300;


#fastcgi连接超时时间,下面的看字面意思都能理解个大概了,就不解释了.
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_temp_path /dev/shm;

#打开gzip压缩
gzip on;
#最小压缩文件大小,一般大于2k的文件使用gzip能提升效率,否则很小的文件压缩反倒更消耗服务器性能
gzip_min_length 2k; 
#压缩缓冲区
gzip_buffers 48k;
#压缩版本(默认1.1,前端为squid2.5使用1.0) 
gzip_http_version 1.1; 
#压缩类型,默认就已经包含text/html 所以下面就不用再写了,当然写上去的话,也不会有问题,但是会有一个warn
gzip_types text/plain application/x-javascript text/css text/html text/javascript application/xml;
#错误页面 
error_page 404 /404.html;
error_page 403 /404.html;
#上传文件大小限制 
client_max_body_size 20m; 
#设定请求头缓存,如果请求header过大,会使用large_client_header_buffers 来读取
client_header_buffer_size 16k;
large_client_header_buffers 464k;
#设定负载均衡的服务器列表
upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的Squid开启3128端口
server localhost:8080  weight=5;
server 127.0.0.1:8080   weight=1;

#下面开始虚拟主机的配置 
server
{
listen 80;
server_name localhost;

#设定本虚拟主机的访问日志
access_log logs/access.log main;


#如果访问 /img/*, /js/*, /css/* 资源,则直接取本地文件,不通过squid
#如果这些文件较多,不推荐这种方式,因为通过squid的缓存效果更好
location ~ ^/(images|javascript|js|css|flash|media|static)/  {
root #应用的根目录;

#刷新时间,根据静态文件修改的频度来调整,开发测试阶段可以短一些,生产阶段可以长一些
expires 24h;
}

#对 "/" 启用负载均衡
location / {

#http://后面跟upstream 的名字
proxy_pass http://mysvr ;;
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 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;
}

#设定查看Nginx状态的地址,安装时必须加配置参数--with-http_stub_status_module 
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
}
}
}

本文转载自:http://blog.csdn.net/rachel_luo/article/details/7336203

我爱睡觉
粉丝 3
博文 2120
码字总数 0
作品 0
南昌
私信 提问
nginx+tomcat实现负载均衡

Nginx处理静态web页面,tomcat处理动态页面,动静结合。 Nginx+tomcat实现负载均衡1 负载均衡服务器:192.168.0.179 负载均衡主机:192.168.0.179 192.168.0.34 179主机配置如下: [root@se...

cunlifang
2014/04/21
0
0
Nginx+Tomcat实现负载均衡

一、首先,准备一个Nginx,和俩个Tomcat, 实现高性能负载均衡的Tomcat集群: 二、解压下载好的俩个Tomcat,分别命名为Tomcat1和Tomcat2 三、后修改这两个Tomcat的启动端口,分别为18080和2...

走世界
2017/10/25
20
0
Nginx 配置实践

nginx 一般用作请求转发,用作服务器集群的负载均衡 典型的高并发集群是 nginx+tomcat(多个) nginx可以高效处理对静态文件的请求,tomcat 负责动态请求 配置范例: #user nobody;worker_pr...

HZCoder
2016/03/29
87
0
负载均衡001_基础概述

1,概述 负载均衡(Load Balance)意思是服务器的负载压力均衡到多个服务器上;在网络世界中所有的信息传递都是通过IO来实现,只要有信息传输的地方就会有IO;网络就是信息传递所支起来的一个...

天呀鲁哇
2016/10/13
11
0
Nginx+Tomcat关于Session的管理

系列文章 Nginx+Tomcat关于Session的管理 Tomcat Session管理分析 Spring-Session基于Redis管理Session 前言 Nginx+Tomcat对Session的管理一直有了解,但是一直没有实际操作一遍,本文从最简...

ksfzhaohui
2018/05/31
583
6

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
53分钟前
116
7
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
2
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部