
Nginx
折木-Oreki
小弟读过两年书,尘世中一个迷途小书童 ,手动滑稽
展开
-
Nginx之proxy_store模块
proxy_store模块 作用:直接把静态文件在本地硬盘创建并读取特点:无法通过程序控制cache何时过期,需要定期删除缓存目录中的内容(不需要删除,永久性保存视频切片文件)基本的配置方式:proxy_store on; //启用缓存到本地的功能proxy_store_access user:rw group:rw all:rw;proxy_temp_p原创 2016-06-01 10:39:36 · 2805 阅读 · 0 评论 -
Nginx日志每日切割
在线上环境中,新建的CDN节点的内容分发由Tengine负责,Tengine的其中一个特性就是可以设置日志的自动切割,只需要在配置文件中设置类似参数:access_log logs/access-$year-$month-$day.log main;原有的节点由于仍然使用Nginx,没有这个配置,所以需要每天定时切割日志文件,脚本如下:#!/bin/bashSAVEPATH_LOG='/usr/l原创 2017-02-28 10:25:14 · 462 阅读 · 0 评论 -
利用Nginx_geo模块实现CDN调度的配置
引入Nginx的Geo模块 geo指令使用ngx_http_geo_module模块提供的。默认情况下,nginx有加载这个模块除非人为的 --without-http_geo_module。 ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址。使用方法如下:geo指令语法: geo [$address] $variable { ... }默认值:原创 2017-03-06 18:25:31 · 2283 阅读 · 0 评论 -
使用Proxy_pass实现跨域访问
除了使用CORS实现跨域访问的功能,Nginx也有一种相对来说简易的实现方法,就是利用Proxy_pass模块的代理功能来实现: 例如,需要实现www站和m站的跨域访问,则只需要对m站的配置文件中加入下面的配置:### 所有的接口请求都是以/h5api开头 ###location /h5api { # $1表示(.*)这个部分。第一对()内的参数是$1,第二对()内的参数就是$2,以此类原创 2017-03-17 18:11:42 · 2047 阅读 · 0 评论 -
Nginx缓存模块proxy_store
Nginx的proxy_store模块 作用:直接把静态文件在本地硬盘创建并读取 特点:无法通过程序控制cache何时过期,需要定期删除缓存目录中的内容(我们需要永久性保存视频切片文件)基本的配置方式:proxy_store on; //启用缓存到本地的功能proxy_store_access user:rw group:rw all:rw;proxy_temp_path /video /原创 2017-03-10 11:13:37 · 1628 阅读 · 0 评论 -
Nginx防盗链配置
location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked www. a.com www.b.com; if ($invalid_referer) { return 404; }原创 2017-03-27 17:10:52 · 667 阅读 · 0 评论 -
Nginx负载均衡(upstream)参数设置
nginx的upstream目前支持的5种方式的分配 1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 upstream backserver { server 192.168.0.10; server 192.168.0.20; } 2、指定权重 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的转载 2017-02-28 18:19:57 · 1193 阅读 · 0 评论 -
Nginx实现web页面跳转
需求为:所有访问http://www-sit.abc.com/haibian 跳转至 http://www-sit.abc.com/newhaibianvim /usr/local/nginx/conf/vhost/www-sit.abc.com.conf# 在server字段添加配置rewrite ^/haibian /newhaibian permanent;# 保存退出# /usr/l原创 2017-03-21 18:09:45 · 3397 阅读 · 0 评论 -
浏览器如何区分CORS的简单请求和非简单请求
只要同时满足以下两大条件,就属于简单请求。(1) 请求方法是以下三种方法之一:HEADGETPOST(2)HTTP的头信息不超出以下几种字段:AcceptAccept-LanguageContent-LanguageLast-Event-IDContent-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-dat原创 2017-03-13 16:03:56 · 2341 阅读 · 0 评论 -
Nginx日志499报错处理
Nginx日志使用Shell脚本监控之后,发现大部分报错为HTTP返回值为499,百度之:499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端自己断开连接解决问题: proxy_ignore_client_abort on; #让代理服务端不要主动关闭客户端的连接。默认 proxy_ignore_client_abort原创 2017-03-09 18:17:09 · 1700 阅读 · 0 评论 -
利用grok对Nginx日志进行分解
提前对Nginx日志的格式进行定义,根据定义好的日志进行分解 Nginx日志格式为:192.168.1.106 192.168.1.106 101.246.116.62 "09/Mar/2017:15:18:59 +0800" "GET" "/xxxx/data/xxxx/hls/20160505/8cd7a8680d795007/FHD/seg-0031.ts" "-" 200 901836 "原创 2017-03-09 15:29:19 · 1353 阅读 · 0 评论 -
Nginx启动报错[emerg] getpwnam("nginx") failed
具体报错如下图: 原因:Nginx编译的时候指定了用户组和用户,但是系统中并没有这个用户导致的问题解决方法:新建相应的用户组和用户名,或者不指定用户组和用户名重新编译一次Nginx原创 2017-02-28 16:01:33 · 16015 阅读 · 4 评论 -
Nginx区分PC或手机访问不同域名
方法一、Rewriteserver { listen 80; server_name h5-test.pbsedu.com; location / { root html; if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android原创 2017-02-28 16:16:22 · 3153 阅读 · 0 评论 -
Nginx中location配置
location = / {# 只匹配 / 查询。[ configuration A ]}location / {# 匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。[ configuration B ]}location ^~ /images/ {# 匹配任何已 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。原创 2017-02-28 16:48:15 · 310 阅读 · 0 评论 -
配置禁止使用IP+端口访问方式
在Nginx主配置文件中,如果要禁止192.168.1.10:80这种模式访问,则添加以下配置server { listen 80 default; return 500;}然后,在vhost配置文件中使用80端口代理域名,便可以实现配置禁止使用IP+80端口访问原创 2017-02-28 17:07:24 · 2602 阅读 · 3 评论 -
利用Shell脚本对Nginx日志进行监控
#!/bin/bash#主机名Hostname=us-web #收件人mail=funnymokats@163.com date=`date +"%Y%m%d"`#记录上一次的行数Last_num_d=/tmp/nginx/lastnum#日志目录Log_directory=/usr/local/nginx/logs#ERROR log 临时存放目录Error_log=/tmp/原创 2017-03-01 16:18:57 · 2149 阅读 · 0 评论 -
Nginx平滑重启
什么是Nginx的平滑重启?Nginx 运行新的工作进程并从容关闭旧的工作进程,通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务。所有的客户端的服务完成后,旧的工作进程被关闭。如果新的配置文件应用失败,N ginx 将继续使用旧的配置文件进行工作。原创 2017-03-02 09:44:19 · 507 阅读 · 0 评论 -
Zabbix自定义模板监控Nginx状态
1、配置Nginx允许通过web查看status# 在Nginx配置文件中添加以下内容location /nginx-status { stub_status on; access_log off; allow 127.0.0.1; allow 1xx.1xx.1xx.原创 2017-03-02 17:20:27 · 736 阅读 · 0 评论 -
Nginx or Tengine日志格式化
在Nginx主配置文件中重新定义日志输出格式:log_format main '$host $server_addr $remote_addr "$time_local" "$request_method" "$uri" "$args" ' '$status $body_bytes_sent "$http_referer" '原创 2017-03-09 15:21:04 · 1188 阅读 · 0 评论 -
Nginx通过CORS配置实现跨域访问
CORS: Cross-origin resource sharing (跨域资源共享),是指a页面想获得b页面的资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的的访问都是进行跨域的,而浏览器为了安全考虑,对跨域访问一般都是进行了限制的。需要注意的是,CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。浏览器将所有的CORS请求分为简单请求和非简原创 2017-03-13 15:52:01 · 2253 阅读 · 0 评论