详解Nginx的功能策略配置

Nginx作为轻量级HTTP服务器,性能上占用资源少,支持多并发,功能上可以实现代理服务器可用于负载均衡,配置上简单灵活!将自己最近的文档整理一下,备以后使用,这里单从功能实现的基础配置上进行说明

负载均衡(做分发服器)

1、基于浏览器的分发

基于浏览器的分发,按照在不同平台的浏览器请求进行分发,比如手机浏览器讲究资源小速度快节省流量,所以将自手机浏览器的请求分发到专供处理移动平台的web服务器上,而在PC上浏览网页注重体验,所以将来自IE浏览器的请求分发到专供处理PC平台的服务器上,这样可以使在不同平台的用户都能得到适合自己的体验!

添加多个upstream

vim /usr/local/nginx/conf/nginx.con

12345678 upstream web {

ip_hash;

server 192.168.1.10

}

upstream apache {

ip_hash;

server 192.168.1.11

}

在定义server的时进行location规则判断

12345678910111213 server{

listen 80;

server_name 192.168.1.100; (分发主机)

location/ {

if( $http_user_agent ~* Elinks ) {

proxy_pass http://web; #来自Elinks浏览器的请求,交给web来处理

}

if( $http_user_agent ~* Mozilla ) {

proxy_pass http://apache;

#来自Mozilla类型的浏览器的请求,交给apache处理,IE和火狐都属于Mozilla

}

}

}

2、基于开发语言的分发

这里开发语言环境的部署,祥看我这篇文章“http://cuimk.blog.51cto.com/6649029/1335770”

常见开发语言的后缀aspaspx php jsp html,为了将不同语言开发的程序交给特定的语言环境来执行,同样可以实现Nginx的location规则来实现

同样定义server时进行location规则判断

12345678910 location~* \.php$ {

proxy_pass http://192.168.1.250; #访问php结尾的,分发到250

}

location ~* \.jsp$ {

proxy_pass http://192.168.1.251; #访问jsp结尾的,分发到251

}

location / {

root html

index index.html; #访问其他的,请求本机

}

时间: 2025-01-25 12:27:55

详解Nginx的功能策略配置的相关文章

详解触摸板功能在windows8系统中的应用有哪些?

详解触摸板功能在windows8系统 中的应用有哪些?触摸板利用手指的滑动操作来移动游标的输入装置.当使用者的手指接近触摸板时会使电容量改变,触摸板自身会检测出电容改变量,转换成坐标.触摸板是借由电容感应来获知手指移动情况,对手指热量并不敏感.其优点在于使用范围较广,全内置.超轻薄笔记本均适用,而且耗电量少,可以提供手写输入功能;因为它是无移动式机构件,使用时可以保证耐久与可靠. 作为一个电脑,笔记本可谓是十分独立的一个个体了,不仅将键盘融为电脑的一体,即便是鼠标,也可以使用触摸板来代替,不过相

详解Nginx服务器的nginx-http-footer-filter模块配置_nginx

nginx-http-footer-filter想必大家都觉得很陌生,那我们就来认识一下它吧,这是淘宝开发的nginx模块. 它用于nginx在响应请求文件底部追加内容. 今天抽空研究下这个插件,希望对大家有所帮助.为什么发现了这个插件,因为这几天公司需要在所有shtml文件后面追加一个js代码用来做统计(之前统计代码没加齐全),在寻求解决方法的过程中找到了它认识了它最后喜欢上了它,你可能以为我用这个插件去实现了我要的功能,其实在认识他之前我用shell脚本替换齐全了. 不过我还是决定研究测试一

详解nginx服务器中的安全配置_nginx

本篇文章详细的讲诉了nginx服务器中的安全配置,具体如下: 一.关闭SELinux 安全增强型Linux(SELinux)的是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制. 但是,SELinux带来的附加安全性和使用复杂性上不成比例,性价比不高 sed -i /SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config /usr/sbin/sestatus -v #查看状态 二.通过分区挂载允许最少特权 服务器上 nginx

详解Nginx服务器中配置超时时间的方法_nginx

一.啥时候用到        用来设置请求资源和服务器返回的时间,保证一个请求占用固定时间,超出后报504超时!这样可以保证一个请求占用过长时间. 二.主要参数       使用nginx服务器如果遇到timeou情况时可以如下设置参数,使用fastcgi:          fastcgi_connect_timeout 75;  链接          fastcgi_read_timeout 600;   读取          fastcgi_send_timeout 600;   发请

详解Nginx中基本的内存池初始化配置_nginx

ngx_cycle 的初始化整个初始化过程中,最重要的就是全局变量 nginx_cycle 的初始化,很多变量都是在这个过程中初始化的 nginx_cycle 又是通过两个局部变量 init_cycle 和 cycle 实现初始化的 事实上,日志初始化也可以算是对 nginx_cyle 的初始化,因为在代码中接下来马上要发生的就是一个赋值 ngx_memzero(&init_cycle, sizeof(ngx_cycle_t)); init_cycle.log = log; ngx_cycle

详解Nginx服务器中map模块的配置与使用_nginx

map指令使用ngx_http_map_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_map_module. ngx_http_map_module模块可以创建变量,这些变量的值与另外的变量值相关联.允许分类或者同时映射多个值到多个不同值并储存到一个变量中,map指令用来创建变量,但是仅在变量被接受的时候执行视图映射操作,对于处理没有引用变量的请求时,这个模块并没有性能上的缺失.一. ngx_http_map_module模块指令说明ma

详解Nginx服务器中HTTP Headers相关的模块配置使用_nginx

ngx_http_headers_module模块 一. 前言ngx_http_headers_module模块提供了两个重要的指令add_header和expires,来添加 "Expires" 和 "Cache-Control" 头字段,对响应头添加任何域字段.add_header可以用来标示请求访问到哪台服务器上,这个也可以通过nginx模块nginx-http-footer-filter研究使用来实现.expires指令用来对浏览器本地缓存的控制.二. ad

详解Nginx HTTP负载均衡和反向代理配置_nginx

当前大并发的网站基本都采用了Nginx来做代理服务器,并且做缓存,来扛住大并发.先前也用nginx配置过简单的代理,今天有时间把整合过程拿出来和大家分享,不过其中大部分也是网上找来的资源. nginx完整的反向代理代码如下所示  : [root@data conf]# vim nginx.conf user www www; worker_processes 10; error_log /var/log/nginx/nginx_error.log; pid logs/nginx.pid; wor

详解Nginx服务器中配置全站HTTPS安全连接的方法_nginx

HTTPS就等于HTTP加上TLS(SSL),HTTPS协议的目标主要有三个:     数据保密性.保证内容在传输过程中不会被第三方查看到.就像快递员传递包裹时都进行了封装,别人无法知道里面装了什么东西.     数据完整性.及时发现被第三方篡改的传输内容.就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收.     身份校验.保证数据到达用户期望的目的地.就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方