Nginx 使用配置

概述

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 ##Nginx 安装与普通演示 pcre-8.35.tar.gz nginx-1.6.2.tar.gz

>
#=================环境安装
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
#=================pcre 安装
tar zxvf pcre-8.35.tar.gz
./configure
make && make install
pcre-config --prefix
#=================nginx 安装
tar zxvf nginx-1.6.2.tar
../configure --prefix=/root/svr/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make && make install 
cd /root/svr/nginx
./sbin/nginx -t
#===========模块添加
wget http://wiki.nginx.org/images/7/78/Nginx_upstream_hash-0.3.tar.gz

可能出现的错误
error while loading shared libraries: libpcre.so.1
解决办法:添加软链接
ln -s /usr/local/lib/libpcre.so.1 /lib64

##负载均衡基础 搭建演示环境,两个WEB服务 配置 upstream 配置 proxy_pass 演示负载均衡 • upstream 与 location 参数与案例讲解

upstream 参数

描述
service	反向服务地址 加端口
weight	权重
max_fails	失败多少次 认为主机已挂掉则,踢出
fail_timeout	踢出后重新探测时间
backup	备用服务
max_conns	允许最大连接数
slow_start	当节点恢复,不立即加入

负载均衡算法

ll+weight 默认的负载算法:

ip_hash : 基于Hash 计算 应用场景:保持session 一至性 url_hash: (第三方) 应用场景:静态资源缓存,节约存储,加快速度 least_conn 最少链接

least_time 最小的响应时间,计算节点平均响应时间,然后取响应最快的那个,分配更高权重。

location 相关参数 root index proxy_set_header proxy_pass

动静分离实现

Nginx 实现高速缓存

基于Nginx 静态缓存的解决方案:

该方案Nginx 配置实现

一、 在http元素下添加缓存区声明。

proxy_cache_path /data/nginx/cache_item levels=1:1:2 keys_zone=cache_item:500m inactive=30d max_size=10g;

二、为指定location 设定缓存策略。

proxy_cache cache_item; proxy_cache_key $host$uri$is_args$args; #以全路径md5值做做为Key proxy_cache_valid 200 304 12h; #对不同的HTTP状态码设置不同的缓存时间 expires 7d; #总体缓存时间 演示缓存生效过程 配置声明缓存路径 为location 配置缓存策略 重启nginx(修改了) 查看缓存目录生成 缓存参数详细说明 父元素 名称 描述 http proxy_cache_path 指定缓存区的根路径 levels 缓存目录层级最高三层,每层1~2 个字符表示。如1:1:2 表示三层。 keys_zone 缓存块名称 及内存块大小。 如 cache_item:500m 。表示声明一 个名为cache_item 大小为 500m。超出大小后最早的数据将 会被清除。 inactive 最长闲置时间 如:10d 如果一个数 据被闲置10天将会被清除 max_size 缓存区硬盘最大值。超出闲置数据 将会被清除 location proxy_cache 指定缓存区,对应keys_zone 中 设置的值 proxy_cache_key 通过参数拼装缓存key 如: $host$uri$is_args$args 则会以全路径md5值做做为Key proxy_cache_valid 为不同的状态码设置缓存有效期

缓存的清除:

#查看已安装模块 
./sbin/nginx -V 
#进⼊nginx安装包⽬录 重新安装 --add-module为模块解压的全路径 
./configure --prefix=/root/svr/nginx --with-http_stub_status_module --with-http_ssl_module -add-module=/root/svr/nginx/models/ngx_cache_purge-2.0 
#重新编译
make 
#拷⻉ 安装⽬录/objs/nginx ⽂件⽤于替换原nginx ⽂件 
#检测查看安装是否成功 
nginx -t 
清除配置:
location ~ /purge(/.*) { 
          #允许访问的IP   allow           127.0.0.1;    
                         allow           192.168.0.193;  
          #禁⽌访问的IP   deny            all;   
          #配置清除指定缓存区和路径(与proxy_cache_key⼀⾄)   
		  proxy_cache_purge    cache_item $host$1$is_args$args; 
		  } 

Nginx 实现防盗链

  • 什么是图片防盗链?意思是指本站内图片、CSS等资源只有本站点可以访问,不允许其它站点打开! 该功能如果用JAVA如何实现?很单简单,只要判断一下 请求头当中的referer 属性是否为 指定域名即可。 Nginx原理类似。

配置

 防盗链配置: location ~* \.(gif|png|jpg|swf|flv)$    {      
                root html;           
				valid_referers none *.tl.com;                   
				if ($invalid_referer) {               
				     rewrite ^/  http://www.tl.com/image/403.png;           
					 #return 404;      
					 } 
			}
  • 演示防盗链配置: 说明:如果 valid_referers 条件判断未通过,nginx 则会赋值 invalid_referer 为true 语法: valid_referers none | blocked | server_names | string ...; 参数说明: none 不允许 “Referer” 来源头部为空的情况 blocked 不允许“Referer”值为空情况,有可能Referer被的值被代理或者防火墙删除 server_names “Referer”来源头部包必须含当前的server_names (当前域名)可以多个

Nginx 实现子域名站点配置

有时会有这样的需求,每个子域名对应一个静态站点(类似58到家、有赞商城等)。如果每天增加一个域名 的会相当麻烦。在nginx 当中可直接基于$host 连接到对应目录。具体配置实现如下:

server {         
          listen       80;          
		  server_name  *.tl.com;          
		  root /data/www/$host;          
		  access_log  logs/$host.access.log;          
		  location / {            
		      index  index.html;         
			  } 
		 } 

转载于:https://my.oschina.net/u/3945595/blog/3083883

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值