nginx 动静分离 以及 负载均衡配置
测试环境
系统版本:win7
Nginx版本:nginx-1.8.1
Tomcat版本:tomcat-6.0.14
1动静分离配置
Nginx.conf 中 server中
server {
listen 80;
server_name 127.0.0.1;
#访问链接是127.0.0.1/project开头的静态资源会在以下的目录下去找
location ~* ^/project/.*\.(gif|jpg|jpeg|png|js|css|html)$ {
root D:/develop_software/apache-tomcat-6.0.14/webapps;
}
#其他静态资源会在nginx的html目录下去找
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|html)$ {
root html;
}
}
2负载均衡配置
首先开启两个tomcat,这里为了演示方便,只是在一台机器上开启两个tomcat,分别运行在
8099和9099上
如下图所示


接下来配置nginx #user nobody;
worker_processes 2; #nginx要开启的进程数 一般等于cpu的总核数 一般情况下开4个或8个就即可
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
#一个server就是一个虚拟主机 运行在80端口
upstream test { #服务器集群名字
server 127.0.0.1:9099 weight=1 fail_timeout=30s;#服务器配置 weight是权重的意思,权重越大,分配的概率越大。
server 127.0.0.1:8099 weight=2 fail_timeout=30s;
} server {
listen 80;
server_name 127.0.0.1;
location ~* ^/zybb2b/.*\.(gif|jpg|jpeg|png|js|css|html)$ {
root D:/develop_software/apache-tomcat-8.0.9/webapps;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|html)$ {
root html;
} location / {
#以下三行代码是为了得到客户端真实ip
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://test;
proxy_redirect default;
index index.html index.htm index.jsp; } } }
另外 关于nginx高可用的问题,使用负载均衡以后,nginx成了入口,如果一旦挂掉 网站就访问不了,所以我们需要保证应用不能存在单点问题。
对高可用感兴趣的朋友可以看看这篇文章 nginx高可用配置
常见问题1?
开启nginx出现 “unknown directive "锘? ”
应该是使用记事本或者某些文本打开器打开了nginx的配置文件,添加了几个bom字符。
解决方式是 使用写字本或者NotePad++打开 保存即可 或者另存为无bom utf8格式
常见问题2?
Linux系统下 如果无法访问 注意看看是否是防火墙的原因
nginx 动静分离 以及 负载均衡配置的更多相关文章
- Nginx 动静分离与负载均衡的实现
一.前提 企业中,随着用户的增长,数据量也几乎成几何增长,数据越来越大,随之也就出现了各种应用的瓶颈问题. 问题出现了,我们就得想办法解决,一般网站环境,均会使用LAMP或者LNMP,而我们对于网站环 ...
- 使用nginx实现动静分离的负载均衡集群
一.概述: LB负载均衡集群分两类: LVS (四层)和 nginx或haproxy (七层) 客户端通过访问分发器的VIP来访问网站 |现在应用更复杂,比如现在网站页面有: .php .html . ...
- HAProxy实现动静分离和负载均衡
由于电脑配置渣,带不动多台虚拟机,所以采用httpd虚拟主机的方式来实现 1 2 3 CentOS 6.7 httpd: 2.2.15 HAProxy: 1.5.4 主机规划 1 2 3 4 5 - ...
- Nginx做NodeJS应用负载均衡配置实例
这篇文章主要介绍了Nginx做NodeJS应用负载均衡配置实例,本文直接给出配置实例,需要的朋友可以参考下. 负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均 ...
- Nginx反向代理实现负载均衡配置图解
Nginx反向代理实现负载均衡配置图解 [导读] 负载均衡配置是超大型机器需要考虑的一些问题,同时也是数据安全的一种做法,下面我来介绍在nginx中反向代理 负载均衡配置图解,大家可参考本文章来操作. ...
- Ngigx+Tomcat配置动静分离,负载均衡
由于公司使用过Ngnix,对于刚接触Nginx来说,感觉有些好奇,于是研究了下. 本人在windows下使用的版本是nginx-1.8.1: 1. 启动Ngnix 双击nginx-1.8.1文件夹中n ...
- Nginx+tomcat组合实现高并发场景的动静分离和负载均衡方案
简介 Java服务大多是跑在tomcat里,但是众所周知tomcat的并发性能没有优势(tomcat8及以上的版本可能有所改善),所以为了更好的适应高并发的应用场景,我们可以使用tomcat+ngin ...
- Nginx+Tomcat实现动静分离和负载均衡
一.什么是动静分离? Nginx动静分离简单来说就是把动态和静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是将动态请求和静态请求分开,可以理解成使用Nginx处理静态 ...
- Nginx + Tomcat 动静分离实现负载均衡(转)
0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 # 定义Nginx运行的用户 和 用户组 如果对 ...
随机推荐
- javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量
定义函数.调用函数.参数.返回值 关键字function定义函数,格式如下: function 函数名(){ 函数体 } 调用函数.参数.返回值的规则和c语言规则类似. <!DOCTYPE ht ...
- Avalon Framework
Apache Avalon has closed. Apache Avalon began in 1999 as the Java Apache Server Framework and in lat ...
- 更新linux下python版本
# 安装所有的开发工具包 yum groupinstall -y "Development tools" # 安装其它的必需包 yum install -y zlib-devel ...
- Springmvc配置时间日期转换
1.局部日期转换 @Controller public class ProductController{ @RequestMapping(value="/test/springmvc.do& ...
- Linux 学习总结(一)
一.Linux系统有7个运行级别(runlevel) 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行 ...
- day22 面向对象基础
1.什么是面向过程 在介绍面向对象之前,要先明确面向过程 在这之前我们所写的任何代码都是面向过程的 什么是面向过程? 是一种编程思想 面对 朝向 在编写代码时,要时刻想着过程这两个字 过程指的是什么? ...
- MongoDB之$关键字及$修改器$set $inc $push $pull $pop
一.查询中常见的 等于 大于 小于 大于等于 小于等于 等于:用':' 大于:用'$gt' 小于:用'$lt' 大于等于:用'$gte' 小于等于:用'$lte' MongoDB的操作就是 ...
- rdlc报表的导出及预览时表头
感谢各路大神的博客,总结rdlc报表中目前用到的知识,积累. 一.rdlc报表PDF打印出现空白页 1.先至Report.rdlc報表設計的頁面,選擇功能表上的[報表]->[報表屬性],在[配置 ...
- [LeetCode_98]Validate Binary Search Tree
题目链接 https://leetcode.com/problems/validate-binary-search-tree/ 题意 判断给定树是否是BST 思路 根据定义判断.递归. 代码 clas ...
- python函数的万能参数
我们通过一个简单的事例来展示一下函数的万能参数,我们先写一个最简单的函数 def test(*args,**kwargs): print(args,kwargs) 然后定义两个变量 l = [1,2, ...