Nginx

nginx关闭favicon.ico、robots.txt日志记录配置

nginx日志最近发生大量访问favicon.ico无法找到的404错误日志,小编感觉很影响服务器性能,对于一个高并发的服务器每一个错误都会影响性能,所以需要关闭访问favicon.ico的日志记录功能。复制代码 代码如下:# 把以下配置放到 server {} 块. #关闭favicon.ico不存在时记录日志location = /favicon.ico {log_not_found off;access_log off;} location = /robots.txt {allow al [详细]

nginx支持codeigniter的pathinfo模式url重写配置写法示例

开发环境 codeigniter 2.14 PHP 5.4.18 nginx 1.4.2 Codeigniter配置 打开 codeignite 的 config.php 文件修改如下:$config['uri_protocol'] = "PATH_INFO";nginx配置 打开 nginx 的配置文件 nginx.conf 文件,修改如下:# 我使用的是虚拟主机配置 server {listen 80;server_name dev.example.com;rewrite_log on; [详细]

实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法

nginx与apache不一样,在apache中可以直接指定php的错误日志,那样在php执行中的错误信息就直接输入到php的错误日志中,可以方便查询。 在nginx中事情就变成了这样:nginx只对页面的访问做access记录日志。不会有php的error log 信息。nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog。 原因是php-fpm的 [详细]

Nginx、Apache、Lighttpd禁止目录执行php配置示例

为了加强网站安全性,我们除了限制目录权限外,还需要禁用某此目录禁止执行php。在IIS中可以直接将目录的脚本执行权限去掉,而针对非windows系统如何做呢? 接下来的文章将简单的介绍不同的webserver如何禁用php执行。。。。 Apache: 复制代码 代码如下: <Directory /website/attachments> php_flag engine off </Directory>Nginx: 禁用单个目录: 复制代码 代码如下: location /u [详细]

Nginx反向代理websocket配置实例

最近有一个需求,就是需要使用 nginx 反向代理 websocket,经过查找一番资料,目前已经测试通过,本文只做一个记录复制代码 代码如下: 注: 看官方文档说 Nginx 在 1.3 以后的版本才支持 websocket 反向代理,所以要想使用支持 websocket 的功能,必须升级到 1.3 以后的版本,因此我这边是下载的 Tengine 的最新版本测试的1.下载 tengine 最近的源码 复制代码 代码如下: wget http://tengine.taobao.org/down [详细]

使用Nginx做WebSockets代理教程

WebSocket 协议提供了一种创建支持客户端和服务端实时双向通信Web应用程序的方法。作为HTML5规范的一部分,WebSockets简化了开发Web实时通信程序的难度。目前主流的浏览器都支持WebSockets,包括火狐、IE、Chrome、Safari以及Opera等,而且,越来越多的服务器应用框架也开始支持WebSockets。 要在企业产品中使用WebSockets,为满足高性能和高可用性,需要多个WebSocket服务器。负载均衡层需要支持WebSocket协议。Nginx从1. [详细]

Nginx配置优化详解

大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一个简单的预览——那些可以通过微调来提高性能设置的概述。你的情况可能不同。 基本的(优化过的)配置 [详细]

使用google-perftools优化nginx在高并发时的性能的教程(完整版)

注意:本教程仅适用于Linux。 下面为大家介绍google-perftools的安装,并配置Nginx和MySQL支持google-perftools。 首先,介绍如何优化Nginx: 1,首先下载并安装google-perftools: 注意,如果是64位系统: 那么你需要做:1)先安装libunwind或者2)在configure时添加--enable-frame-pointers. 那么首先说说如何安装libunwind:复制代码 代码如下:wget http://download.s [详细]

一些优化Nginx服务器的技巧简介

大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一个简单的预览——那些可以通过微调来提高性能设置的概述。你的情况可能不同。 基本的 (优化过的)配置 [详细]

使用Nginx反向代理与proxy_cache缓存搭建CDN服务器的配置方法

碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1、在移动机房放置一台nginx反向代理服务器2、通过域名DNS智能解析,所有移动用户访问www.osyunwei.com时解析到nginx反向代理服务器3、nginx反向代理服务器与web服务器之间采用专线连接说明:1、web服务器线路:电信IP:192.168.21.129域名:www.osyunwei.com2、nginx反向代理服务器线路:移动系统:CentOS 6.2IP:192.168.21.164vi [详细]

在Nginx中拦截特定用户代理的教程

现代互联网滋生了大量各种各样的恶意机器人和网络爬虫,比如像恶意软件机器人、垃圾邮件程序或内容刮刀,这些恶意工具一直偷偷摸摸地扫描你的网站,干些诸如检测潜在网站漏洞、收获电子邮件地址,或者只是从你的网站偷取内容。大多数机器人能够通过它们的“用户代理”签名字符串来识别。 作为第一道防线,你可以尝试通过将这些机器人的用户代理字符串添加入robots.txt文件来阻止这些恶意软件机器人访问你的网站。但是,很不幸的是,该操作只针对那些“行为良好”的机器人,这些机器人被设计遵循robots.txt的规范。 [详细]

Nginx实现if多重判断配置方法示例

nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法,我们可以用变量的方式来实现: 首先是伪代码(即不被nginx支持),写在这里只是为了方便理解: 复制代码 代码如下: if ($remote_addr ~ "^(12.34|56.78)" && $http_user_agent ~* "spider") { return 403; }下面这是等效的,并真实可用的配置 复制代码 代码如下: set $flag 0; if ($remote_addr [详细]

Nginx 502 Bad Gateway错误常见的4种原因和解决方法

1.FastCGI worker进程数是否不够 通过命令查看服务器上一共开了多少的 php-cgi 进程 复制代码 代码如下: ps -fe |grep "php" | grep -v "grep" | wc -l使用如下命令查看已经有多少个php-cgi进程用来处理tcp请求 复制代码 代码如下: netstat -anop | grep "php" | grep -v "grep" | wc -l接近配置文件中设置的数值,表明worker进程数设置太少 2.FastCGI执行时间过长 根据 [详细]

Python的Bottle框架基本知识总结

基本映射 映射使用在根据不同URLs请求来产生相对应的返回内容.Bottle使用route() 修饰器来实现映射.from bottle import route, run @route('/hello') def hello():return "Hello World!" run() # This starts the HTTP server运行这个程序,访问http://localhost:8080/hello将会在浏览器里看到 "Hello World!". GET, POST, HEA [详细]

在nginx中实现单位时间内限制访问频率的教程

首先说一下遇到这个问题是因为网站被攻击,阿里云报警,想到要限制一下访问频率,而不是限制ip(限制ip的方案稍后给出)。nginx连接资源被吃空返回状态码是502,添加本方案限制后返回599,与正常状态码区别开。 步骤如下: 首先nginx.conf里面添加如下内容:map $http_x_forwarded_for $clientRealIp {"" $remote_addr;~^(P<firstAddr>[0-9\.]+),.*$ $firstAddr;}###safe setting [详细]