Nginx+tomcat 实现负载均衡和动静分离
2016-03-25 16:33
1151 查看
转载于:http://blog.csdn.net/Yoara/article/details/41803153
怎么下载和安装nginx/tomcat就不说了,谈谈在刚开始配置时最容易让人模糊的地方。
1.配置动静分离和负载均衡,注意,upstram、server都是在http{}下面的。upstream t1.test.com {
server 192.168.235.1:8080 weight=1 max_fails=2 fail_timeout=30s;
}
其中,红色标注定义的服务器组的名字,后续通过改名字制定服务器组。server {
listen 80;
#server
server_name t1.test.com;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://t1.test.com; }
#配置Nginx动静分离
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /data/www;
#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力.
expires 3d;
}
}
特别注意,蓝色标注的是指域名,就是通过访问http://t1.test.com 将使用该server定义。后面红色标注,指的是使用upstream中定义的服务器组。这样,访问http://t1.test.com域名的所有请求都会被server t1.test.com处理。
2.理解了upstream的使用方法,负载均衡就不是问题了,weight表示权重,max_fails=2 fail_timeout=30s这两个参数是指,30s内请求失败2次就不会再访问该server了。fail_timeout时间过后才继续访问,这是容错的一种处理,服务器如果恢复了,还是能继续使用。完整的配置如下
[html] view plain copy
upstream t1.test.com {
server 192.168.235.1:8080 weight=1 max_fails=2 fail_timeout=30s;
}
upstream t2.test.com {
server 192.168.235.1:8081 weight=1 max_fails=2 fail_timeout=30s;
}
upstream all.test.com {
server 192.168.235.1:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.235.1:8081 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
#server
server_name t1.test.com;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://t1.test.com;
}
#配置Nginx动静分离
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /data/www;
#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力.
expires 3d;
}
}
server {
listen 80;
#server
server_name t2.test.com;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://t2.test.com;
}
#配置Nginx动静分离
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /data/www;
#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力.
expires 3d;
}
}
server {
listen 80;
#server
server_name all.test.com;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://all.test.com;
}
#配置Nginx动静分离
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /data/www;
#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力.
expires 3d;
}
}
怎么下载和安装nginx/tomcat就不说了,谈谈在刚开始配置时最容易让人模糊的地方。
1.配置动静分离和负载均衡,注意,upstram、server都是在http{}下面的。upstream t1.test.com {
server 192.168.235.1:8080 weight=1 max_fails=2 fail_timeout=30s;
}
其中,红色标注定义的服务器组的名字,后续通过改名字制定服务器组。server {
listen 80;
#server
server_name t1.test.com;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://t1.test.com; }
#配置Nginx动静分离
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /data/www;
#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力.
expires 3d;
}
}
特别注意,蓝色标注的是指域名,就是通过访问http://t1.test.com 将使用该server定义。后面红色标注,指的是使用upstream中定义的服务器组。这样,访问http://t1.test.com域名的所有请求都会被server t1.test.com处理。
2.理解了upstream的使用方法,负载均衡就不是问题了,weight表示权重,max_fails=2 fail_timeout=30s这两个参数是指,30s内请求失败2次就不会再访问该server了。fail_timeout时间过后才继续访问,这是容错的一种处理,服务器如果恢复了,还是能继续使用。完整的配置如下
[html] view plain copy
upstream t1.test.com {
server 192.168.235.1:8080 weight=1 max_fails=2 fail_timeout=30s;
}
upstream t2.test.com {
server 192.168.235.1:8081 weight=1 max_fails=2 fail_timeout=30s;
}
upstream all.test.com {
server 192.168.235.1:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.235.1:8081 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
#server
server_name t1.test.com;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://t1.test.com;
}
#配置Nginx动静分离
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /data/www;
#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力.
expires 3d;
}
}
server {
listen 80;
#server
server_name t2.test.com;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://t2.test.com;
}
#配置Nginx动静分离
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /data/www;
#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力.
expires 3d;
}
}
server {
listen 80;
#server
server_name all.test.com;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://all.test.com;
}
#配置Nginx动静分离
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /data/www;
#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力.
expires 3d;
}
}
相关文章推荐
- 小心服务器内存居高不下的元凶--WebAPI服务
- 运维入门
- Seafile Server本地权限提升漏洞(CVE-2014-5443)
- 从USB安装Ubuntu Server 10.04.3 图文详解
- 利用开源软件打造自己的全功能远程工具
- Linux5.9无人值守安装
- 数据中心和云未来的十二大趋势
- 使用zabbix监控Nginx活动状态--Part1
- 高效访问Internet-启用ISA Server的缓存
- 用vsftp快速搭建ftp服务器
- Linux快速构建apache web服务器
- 服务器监控策略浅谈
- windows server域用户提升到本地更高权限组中的方法
- 如何降低服务器采购成本 原理分析
- 完美解决SQL Server 安装问题:以前的某个程序安装已在安装计算机上创建挂起的文件操作
- 建议的服务器分区办法
- IIS 错误 Server Application Error 详细解决方法
- 服务器托管六大优势分析
- 在WINXP系统上安装SQL Server企业版的方法