存档

‘nginx’ 分类的存档

nginx关闭favicon.ico 日志记录 禁止访问隐藏文件

2012年9月26日 没有评论

# 把以下配置放到 server {} 块. #关闭favicon.ico不存在时记录日志 location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # 不允许访问隐藏文件例如 .htaccess, .htpasswd, .DS_Store (Mac). location ~ /. { deny all; access_log off; log_not_found off; }

分类: nginx 标签:

nginx日志切割

2012年9月24日 9 条评论

nginx的日志文件没有rotate功能。如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件。 第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志。在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文件。 第二步向nginx主进程发送USR1信号。 nginx主进程接到信号后会从配置文件中读取日志文件名称,重新打开日志文件(以配置文件中的日志名称命名),并以工作进程的用户作为日志文件的所有者。 重新打开日志文...

分类: nginx 标签: , ,

nginx php-fpm安装配置

2012年9月21日 70 条评论

nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。 nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx 本文以php-fpm为例介绍如何使nginx支持PHP 一、编译安装php-fpm 什么是PHP-FPM PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到. PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用...

分类: nginx 标签:

nginx rewrite 指令

2012年9月21日 5 条评论

nginx通过ngx_http_rewrite_module模块支持url重写、支持if条件判断,但不支持else。 该模块需要PCRE支持,应在编译nginx时指定PCRE源码目录, nginx安装方法。 nginx rewrite指令执行顺序: 1.执行server块的rewrite指令(这里的块指的是server关键字后{}包围的区域,其它xx块类似) 2.执行location匹配 3.执行选定的location中的rewrite指令 如果其中某步URI被重写,则重新循环执行1-3,直到找到真实存在的文件 如果循环超过10次,则返回500 Internal Server Error错误 break指令 语法:break; 默认值:无 作用域:server,location,if ...

分类: nginx 标签: , , ,

nginx开机自动启动脚本

2012年9月20日 9 条评论

把以下脚本保存为nginx文件放入/etc/init.d/nginx 然后可以通过 /etc/init.d/nginx start 命令启动nginx /etc/init.d/nginx stop 命令停止nginx /etc/init.d/nginx restart 命令重启nginx 开机自动启动nginx, 如果需要开机启动服务,保存好 /etc/init.d/nginx文件后, 执行以下命令: chkconfig --add ningx chkconfig --level nginx 2345 on 你也可以直接下载nginx启动停止脚本 ---------------------分割线下是脚本内容,红色字体需要你修改------------------------------------------- #! /bin/sh PATH=/usr/local/sbin:/usr/local...

分类: nginx 标签: ,

nginx禁止未绑定域名访问

2012年9月17日 7 条评论

nginx 只允许某些域名访问 其他一律不能访问 ,是怎么写的? 对于这个问题可以参考官方文档 原文 In catch-all server examples the strange name “_” can be seen: server { listen 80 default_server; server_name _; return 444; } 12345 server {    listen       80  default_server;    server_name  _;   &nb...

分类: nginx 标签: ,

nginx防止sql注入

2012年9月11日 2 条评论

防止sql注入最好的办法是对于提交后台的所有数据都进行过滤转义。 对于简单的情况,比如包含单引号' , 分号;, <, >, 等字符可通过rewrite直接重订向到404页面来避免。 用rewrite有个前提需要知道,一般用rewrite进行正则匹配只能匹配到网页的URI,也就是url中?前部分,?以后部分是请求参数。 问号后面的请求参数,在nginx用$query_string表 示,不能在rewrite中匹配到,需要用if判断 例如,对于参数中带有单引号的'进行匹配然后定向到错误页面, /plus/list.php?tid=19&mid=1124' rewrite ^.*([;'<>]).* /error.html b...

分类: nginx 标签: ,

nginx禁止访问某个文件和目录(文件夹)

2012年8月29日 8 条评论

nginx禁止访问所有.开头的隐藏文件设置 location ~* /.* { deny all; } nginx禁止访问目录, 例如:禁止访问path目录 location ^~ /path { deny all; } 可以把path换成实际需要的目录,目录path后是否带有"/",带"/"只禁止访问目录,不带"/"禁止访问目录中的文件 转载请保留:http://blog.redis.com.cn/125.html

nginx location匹配规则

2012年8月29日 32 条评论

location 匹配命令 123456 ~      # 波浪线执行正则匹配,区分大小写~*     # 波浪线带星执行正则匹配,不区分大小写^~     # ^~ 普通字符匹配,如果该选项匹配,只匹配该选项,不匹配其它 location 选项,一般用来匹配目录=      # 普通字符串精确匹配空     # 普通字符串匹配,例如 location /abc {}@      # "@" 定义一个命名的 location,使用在内部重定向时,例如 error_page, try_files ...

分类: nginx 标签: , ,

nginx+php-fpm出现502 bad gateway错误解决方法

2012年8月22日 8 条评论

502错误是所有用nginx跑php的运维人员不愿意看见的 nginx出现502有很多原因,但大部分原因可以归结为资源数量不够用,也就是说后端php-fpm处理有问题,nginx将正确的客户端请求发给了后端的php-fpm进程,但是因为php-fpm进程的问题导致不能正确解析php代码,最终返回给了客户端502错误。 服务器出现502的原因是连接超时 我们向服务器发送请求 由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错 因此如果你服务器并发量非常大,那只能先增加机器,然后按以下方式优化会取得更好效果;但如果你并发不大却出现502,一...

分类: nginx 标签: , , , , ,