浏览模式: 普通 | 列表
分类: nginx | < | 1 | 2 | 3 | 4 | 5 | 6 | >
p.s.挂载oss之后,使用rsync可以同步图片数据,非常方便

官方教程: https://bbs.aliyun.com/read/307212.html
本文来源: http://www.xxorg.com/archives/4450

  醒醒的服务器VPS折腾小站使用阿里云的VPS安装Linux的CentOS,可悲的是最小带宽的,只有1M的带宽,想从ECS发出去点东西太难了,就说备份网站这点数据都需要很长时间,为了解决这个问题,使用阿里云的OSS可以第成本的解决,使用ossfs挂载OSS到VPS本地,备份的时候只需要存储在挂载后的目录里,跟本地操作一模一样,安全方便,走内网还只需要付存储费用,流量费也不需要。ossfs 能让在Linux系统中把阿里云的OSS bucket 挂载到本地文件系统中,您能够便捷地通过本地文件系统操作OSS 上的对象,实现数据的共享。
...

阅读全文…
通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx.
#!/bin/sh
nginx_home = /Data/app_1/nginx
log_path = /Data/logs
/usr/bin/tail -n50000 $log_path/access.log \
|awk ‘$8 ~/aspx/{print $2,$13}' \
|grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \
|awk ‘{print $1}'|sort|uniq -c |sort -rn \
|awk ‘{if($1>150)print “deny “$2″;”}'> $nginx_home/conf/vhosts/blockip.conf
/bin/kill
...

阅读全文…
1、nginx是支持读取非nginx标准的用户自定义header的,但是需要在http或者server下开启header的下划线支持:
        underscores_in_headers on;

2、比如我们自定义header为X-Real-IP ,通过第二个nginx获取该header时需要这样:
        $http_x_real_ip; (一律采用小写,而且前面多了个http_)

3、如果需要把自定义header传递到下一个nginx:
        如果是在nginx中自定义采用proxy_set_header X_CUSTOM_HEADER $http_host;
        如果是在用户请求时自定义的header,例如curl –head -H “X_CUSTOM_HEADER: foo” ...

阅读全文…

Nginx平滑升级的详细操作方法

[ 2016-10-01 15:25:40 | 作者: admin ]
原文地址:1分钟搞定 Nginx 版本的平滑升级与回滚 https://www.cnblogs.com/youkanyouxiao/p/10468885.html

一、平滑升级概述
Nginx方便地帮助我们实现了平滑升级。其原理简单概括,就是:
(1)在不停掉老进程的情况下,启动新进程。
(2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求。
(3)新进程接受新请求。
(4)老进程处理完所有请求,关闭所有连接后,停止。
这样就很方便地实现了平滑升级。一般有两种情况下需要升级Nginx,一种是确实要升级Nginx的版本,另一种是要为Nginx添加新的模块。


二、判断新版本是否兼容旧的配置文件
/usr/local/nginx-1.14.2/sbin/nginx -t

三、升级到新版本

cd /usr/local/nginx-1.12.2/sbin/
...

阅读全文…
attachments/201609/04_100255_vnstat785x256.jpg

使用iptraf可以查看实时的流量,但是vnstat不仅可以看实时的,还能够记录下来,比较方便看服务器状态
p.s. 实际部署过程的问题记录,可以自己修改下vnstat.php文件
1、首先php.ini中需要 /var/lib/vnstat/ 加入到base_dir中
2、另外disable_functions一般popen函数都是被禁的,所以需要解禁file函数(此函数将文件直接读到数组,比 file_get_contents很方便)
3、其他遇到问题需要自己调试下



wget https://acelnmp.googlecode.com/files/vnstat-1.10.tar.gz
...

阅读全文…
p.s. 较新版本的nginx中默认已经加载了 ngx-http-geo-module 和 ngx-http-map-module ,所以不必再额外添加模块。
另外,如果修改nginx.conf没有生效,-s reload无法生效的话需要干掉所有nginx进程,重新打开nginx 。参考: http://blog.xg98.com/article.asp?id=2656

在没有人为操作删除的情况下(without-http_geo_module),nginx默认模块中已经加载了ngx-http-geo-module相关内容;
ngx-http-geo-module可以用来创建变量,变量值依赖于客户端 ip 地址;
ngx-http-map-module可以基于其他变量及变量值进行变量创建,其允许分类,或者映射多个变量到不同值并存储在一个变量中;
...

阅读全文…
p.s. nginx里面有2个模块可以限制客户端的访问频率:limit_req和limit_conn ,具体的区别可以再查,这里只讲述 limit_req ,一般也够用了。
p.s. 如果修改配置不生效,需要杀进程重新开 nginx 。参考: http://blog.xg98.com/article.asp?id=2656


本文介绍下,nginx环境中使用Limit Requests模块,限制单个IP请求速率的方法,有需要的朋友,参考下吧。

Limit Requests模块可以限制单个客户端发送请求的速率。

示例配置如下:
http {
     limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
     server {
             location ~ .*\.(php|php5)?$
...

阅读全文…

nginx geo使用方法

[ 2016-08-03 14:37:18 | 作者: admin ]
geo指令使用ngx_http_geo_module模块提供的。默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module。 ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址。 geo指令 语法: geo [$address] $variable { ... } 默认值: — 配置段: http 定义从指定的变量获取客户端的IP地址。默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他变量获得。


geo $remote_addr $geo {
                default 0;
                127.0.0.1 1;
}
geo $http_client_ip $geo {
                default 0;
                127.0.0.1 1;
}