nginx location 模块详解

nginx location 模块详解

配置一个虚拟主机,在window和linux下都必须修改 host文件 linux 下修改/etc/host

location /{
}
location /nginx{}
location ^~\.png${ expires 7d; access_log off; } 7天过期,不保存日志
location ~/.(gif|jpg|png|js|css)$ {}
location ~* \.png$ {}
~*.*\.(zip|rar|exe|msi|iso|gho|mp3)?$ { deny all ;} 禁止下载文件

感觉没什么卵用
nginx制定文件路径有两种方式 root和alias 两者的区别在于nginx如何解析location后面的url

nginx 使用 ngx_http_core_module 模块处理请求
$docoument_root 表示当前请求所使用的的root配置项的值
$uri = $doucment_url 表示当前请求的URL不带任何参数
$host 主机
$is_args 表示请求的URL中食肉携带参数 带参数值位? 否则为空
$limit_rate 表示当前链接的限速是多少,0表示无限速

nginx使用ngx_http_module 定义请求日志格式
access_log

ssi 是一种类似于ASP的机遇服务器的网页制作技术,将内容发送到浏览器之前可以使用 服务器包含(SSI) 指令将文本、图形或者应用程序信息包含到网页中。
对于多个文件中重复出现的文本或图形,使用包含文件是一种简介的方法,将内容存入一个包含文件中,而不必将内容输入所有文件, 使用SSI ,必须为所有的ssi文件赋予扩展名, .stm或shtm 或shtml

ssi配置在 nginx中的配置
在http段添加
ssi on ;
ssi_silent_errors off;
ssi_types text/shtml;
location ~*\.shtml$ {
ssi on;
ssi_silent_errors off;
ssi_value_length 1024;
ssi_type text/shtml;
}

nginx 日志切割 crontab 切割字符串

nginx重写规则指南
log_formge imglog '[$time_loccal]''$image_file''$body_bytes_sent''$status;
server{
root /home/www;
location /{
#重写规则信息
error_log logs/rewrite.log notice;
#注意这里用'' 单引号引起来,避免{}
rewrite '^/images/([a-z]{2})/([a-z0-9]{5})/(.*)\.(png|jpg|gif)$'/data?file = $3.$4; #这里不能加last否则下面的set指令不会执行
set $img_file $3;
set $img_type $4;
}
location /data/{
#制定针对图片的日志格式来分析图片类型和大小
access_log log/img.log main ;
root /data/imgages;
#应用前面定义的变量名。判断首先文件在不在,不在再去判断目录在不在,如果还不在调到最有一个url 里
try_flies /$arg_file /image404.html;
}
}

rewrite  "/photos/([0-9] {2})([0-9] {2})([0-9] {2})" /path/to/photos/$1/$1$2/$1$2$3.png;
禁止 htaccess重写

location ~/\.ht{
deny all;
}
设置这个目录不记录访问日志
location ^~ /html/scripts/lodhead_1.js{
access_log off;
}
文件反盗链
location ~* \.(gif|jpg|png|bmp)$ {
    valid_referers none blocked *.ttlsa.com server_names ~\.google\. ~\.baidu\.;
    if ($invalid_referer) {
        return 403;
        #rewrite ^/ http://www.ttlsa.com/403.jpg;
    }
}

针对图片目录的缓存

location /images/ { alias /data/images/; valid_referers none blocked server_names *.5icool.org 5icool.org; if ($invalid_referer) {return 403;} }

第三行:valid_referers none blocked *.epinv.com epinv.com *.qq.com *.baidu.com;
就是白名单,允许文件链出的域名白名单,自行修改成您的域名!  *.epinv.com  这个指的是子域名,域名与域名之间使用空格隔开!baidu.com是搜索引擎,做qq.com的白名单是因为可能有用户用邮箱订阅你的站点,如果不设置为白名单,用户在邮箱就无法看见你的图了,同理,如果还有其他订阅方式、搜索引擎都最好添加一下

只允许固定ip访问网站
root /opt/htdocs/www;
allow 192.168.2.1;
allow 222.22.2.2;
deny all;
auth_basic 'C1G_ADMI





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值