配置Nginx服务器展示随机首页与空白图片的方法
显示随机首页模块(Random Index)
一般情况下,一个站点默认首页都是定义好的index.html、index.shtml、index.php等等,如果想站点下有很多页面想随机展示给用户浏览,那得程序上实现,显得尤为麻烦,如果你安装了nginx,那么使用nginx的random index即可达成这个功能,凡是以/结尾的请求,都会随机展示当前目录下的文件作为首页.
random index介绍
ngx_http_random_index_module模块处理以'/'为后缀的请求,并且在当前目录下随机抽取一个页面作为首页.这个模块将在ngx_http_index_module模块之前执行. 默认情况下,这个模块没有安装,你需要在安装nginx的时候加上配置参数--with-http_random_index_module.
随机首页配置
location / { random_index on; }
random index指令
语法: random_index on | off;
默认值: random_index off;
配置段: location
启用或者禁用random index模块
生成空白图片(empty_gif模块)
用过百度统计的兄弟有没有注意到百度使用1x1的空白图片传递统计参数,自己做异步统计的兄弟是否使用静态文件来传递参数。为什么使用空白图片呢,而不是自己存放一张小图呢,nginx里面的空白图片是保存在内存中的,速度绝对比硬盘上读取的快. 看下如何使用empty_gif生成响应1x1的空白图片吧.
nginx默认内置ngx_http_empty_gif_module模块, 如何安装nginx我不在多讲.直接看下empty_gif的用法
nginx配置
nginx模块ngx_http_empty_gif_module会响应1x1的GIF图片.
location = /_.gif { empty_gif; }
如下是我的nginx配置
server { listen 80; server_name test.ttlsa.com; access_log /data/logs/nginx/test.ttlsa.com.access.log main; index index.html index.php index.html; root /data/site/test.ttlsa.com; location ~* /3145/ { empty_gif; } }
测试empty_gif
访问test.ttlsa.com/3145/结果如下:
empty_gif指令
语法: empty_gif;
默认: —
配置段: location
开启响应1x1空白图片
最后
empty_gif用得最多的地方还是统计,当然你觉得可以用的地方也是可以用,只要是你用得着,毕竟内存速度比硬盘要快非常多.
相关推荐
-
使用referer指令配置Nginx服务器来防止图片盗链
由于nginx不支持.htaccess,所以,从这个方面直接去防止是行不通的,我们要通过修改配置文件来解决. 首先,我们找到需要防盗链的域名的conf文件,路径:/usr/local/nginx/conf/vhost/,比如guance.com.conf.先备份下原文件,然后找到下面的部分: location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } 将它修改为: location ~ .*\.(gif|jpg|jpeg|png|bmp
-
Nginx图片防盗链配置实例
做运维的朋友经常会有一些烦恼,比如网站总是被人抄袭,比如网站总是被人引用上面的图片,虽然一张图两张图,并不耗费很多流量,但一旦引用的人多了,这个还是比较废流量的. 防盗链就是禁止其他网站引用自己网站资源而做的一系列设置,优点就不需要说了,绝多数就是防止资源浪费,特别是有宽带.流量限制的空间如果不做一些 限制可能就光引用自己网站图片.视频等等资源可能会消耗很大一部分流量.本文就简单的说一下在nginx服务器上如何做防盗链设置. nginx防盗链代码 第1步:下载nginx网站配置文件. 有些网友可
-
Linux环境下nginx搭建简易图片服务器
主要使用Nginx和vsftpd. 安装方面可以直接从nginx官网上下载,或者... 复制代码 代码如下: yum install nginx 如果没有yum源则需要自行添加再进行install. 复制代码 代码如下: yum install wget wget http://www.atomicorp.com/installers/atomic sh ./atomic yum check update 如果是从官网上下载的则进行如下操作: 复制代码 代码如下: [root@admin l
-
PHP加Nginx实现动态裁剪图片方案
许久以前写过一篇也是关于高性能PHP图片动态裁剪方案的文章,那文章使用的是nginx Cache和rewrite实现的,当然再加上CDN,那个方案存在一个问题就是图片并没有实际生成,而是以二进制的形式存在缓存中.如果缓存失效了那么还需要请求php再次生成.如果说到区别这是我暂且认为的吧.利用空余时间,新增了静态生成图片支持,支持对图片3种模式切换,在门户网站自动对图片尺寸进行裁剪,减少服务器带宽,理论上应该也满足了业务的需求吧,图片裁剪使用了Imagick组件. 一.思路再现:1.先写好请求服务
-
Nginx服务器上搭建图片缓存服务的基本配置解析
最近准备用nginx搭建了一个图片服务器,看中的就是nginx超强的静态文件处理能力. 由于图片量比较大,和web服务器(也是nginx)分开运行,虽然web服务器调用图片没用问题,但毕竟是远程调用,肯定没有本地文件系统那么快,因此仍然有优化的空间. proxy_store 使用前的nginx配置 location ~* ^.+\.(js|ico|gif|jpg|jpeg|png|html|htm)$ { log_not_found off; access_log off; expires 7d
-
Fastdfs与nginx进行压缩图片比率
在此先把前面自己做的那个功能在此分享下,是一个模仿淘宝的,希望大神们有什么想法可以不吝赐教: 自己是通过前面的参考配置lua与nginx的结合使用,利用脚本语言lua的强大特性和nginx的特性来实现这个功能,在nginx.conf的配置文件中加入如下代码: server { listen 22222; server_name localhost; # server_name somename alias another.alias; location /images/{ alias /root
-
配置Nginx服务器展示随机首页与空白图片的方法
显示随机首页模块(Random Index) 一般情况下,一个站点默认首页都是定义好的index.html.index.shtml.index.php等等,如果想站点下有很多页面想随机展示给用户浏览,那得程序上实现,显得尤为麻烦,如果你安装了nginx,那么使用nginx的random index即可达成这个功能,凡是以/结尾的请求,都会随机展示当前目录下的文件作为首页. random index介绍 ngx_http_random_index_module模块处理以'/'为后缀的请求,并且在当
-
CentOS6.5系统简单安装与配置Nginx服务器的方法
本文实例讲述了CentOS6.5系统简单安装与配置Nginx服务器的方法.分享给大家供大家参考,具体如下: 依赖包安装 在安装nginx前,需要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件.安装必须软件: [root@admin /]#yum install gcc-c++ yum -y install zlib zlib-devel openssl openssl--devel pcrepcre-devel 检查系统安装的Nginx:
-
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理.负载平衡.其拥有匹配Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpd的mod_proxy也有一些问题并且很久没有更新. 因此我打算用其替代Apache应用于Linux服务器上.但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞.那么我们必须使用FastCGI方式来执行PHP程序. 下面是我成功地配置Ngi
-
配置Nginx服务器防止Flood攻击的方法
测试 我会简单的告诉你如何配置Nginx的限制请求模块并且它是如何保护你的网站,防止你被攻击与DDOS或是其他基于HTTP的拒绝服务攻击. 这个测试中,我将样本页在保存在Blitz.io(现在是免费服务)命名为about.html,用于测试limit_req指令. 首先,我在Blitz上使用下面的指令,用来发起1075个并发请求并且持续一分钟,响应超时设置为2分钟,区域为加州,同时设置了除掉状态200以外的其他状态全部为异常状态,甚至是503都被认为是没有成功. -p 1-1075:60 --
-
Debian系统下为PHP程序配置Nginx服务器的基本教程
Nginx 目前来说已经很流行了,所以打算把现有的Apache先替换一部分,在批量部署和管理方面都要考虑到.因为nginx的所有模块都是静态编译的不像apache那样可以动态添加模块,所以在一开始就要考虑清楚需求,结合现在很火的LAMP模式,其中P最常见的是PHP,目前较好的FastCGI的管理器有spaw-fcgi和php-fpm,而php老版本都是需要源码安装通过打补丁的方式把php-fpm打进去,spaw-fcgi是lighttpd默认的FastCGI管理器,因为牵扯到源码安装,当前的软件
-
Nginx服务器屏蔽与禁止屏蔽网络爬虫的方法
每个网站通常都会遇到很多非搜索引擎的爬虫,这些爬虫大部分都是用于内容采集或是初学者所写,它们和搜索引擎的爬虫不一样,没有频率控制,往往会消耗大量服务器资源,导致带宽白白浪费了. 其实Nginx可以非常容易地根据User-Agent过滤请求,我们只需要在需要URL入口位置通过一个简单的正则表达式就可以过滤不符合要求的爬虫请求: location / { if ($http_user_agent ~* "python|curl|java|wget|httpclient|okhttp") {
-
讲解Nginx服务器中设置本地浏览器缓存的简单方法
浏览器缓存(Browser Caching) 是为了加速浏览并节约网络资源,浏览器在用户磁盘上对最近请求过的文档进行存储. nginx可以通过 expires 指令来设置浏览器的Header 语法: expires [time|epoch|max|off] 默认值: expires off 作用域: http, server, location 使用本指令可以控制HTTP应答中的"Expires"和"Cache-Control"的头标,(起到控制页面缓存的作用).
-
CentOS6.5环境安装nginx服务器及负载均衡配置操作详解
本文实例讲述了CentOS6.5环境安装nginx服务器及负载均衡配置操作.分享给大家供大家参考,具体如下: 1.下载PCRE, 是一个用C语言编写的正则表达式函数库 [root@localhost pcre-8.36]# cd /tmp/download/ [root@localhost download]# wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz [root@localhost d
-
nginx服务器通过配置来解决API的跨域问题
前言 最近在采用jquery ajax调用http请求时,发现了一系列问题: 如采用firebug调试API请求(这个API是自己服务器的应用),看到服务器明明返回200状态,response返回数据也是json格式,但ajax返回的error. 在排除json数据格式不正确的原因之后,发现了ajax error函数返回"networkerror failed to execute 'send' on 'xmlhttprequest' failed to load 'http //"
随机推荐
- 利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
- 动态添加Redis密码认证的方法
- getElementByID、createElement、appendChild几个DHTML元素第1/2页
- System.Data.SqlClient.SqlException: 无法打开登录所请求的数据库 登录失败。
- php权重计算方法代码分享
- php设计模式之观察者模式的应用详解
- Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
- ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
- 详解nodeJS之路径PATH模块
- node.js中的url.format方法使用说明
- 鲜为人知的CSS技巧10则
- centos6.5安装vncserver图文教程
- Android实现在子线程中更新Activity中UI的方法
- jQuery焦点图切换特效代码分享
- jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
- ASP.NET(C#) String, StringBuilder 与 StringWriter性能比较
- Maven默认中央仓库(settings.xml 配置详解)
- Android编程设计模式之状态模式详解
- 浅谈react受控组件与非受控组件(小结)
- Pandas标记删除重复记录的方法