Nginx日志切割方法

这是一段Linux的Shell脚本,用于切割Nginx的日志,可通过crontab设置每日零点执行这段脚本实现自动切割。

#!/bin/bash
# This script run at 00:00

log_year=$(date -d "yesterday" +"%Y")
log_month=$(date -d "yesterday" +"%m")
log_day=$(date -d "yesterday" +"%d")

# The Nginx logs path
logs_path="/usr/local/nginx/logs/"
save_path="/usr/local/nginx/logs/$log_year-$log_month/"

if [ ! -d "$save_path" ]; then
mkdir -p "$save_path"
fi

mv ${logs_path}access.log ${save_path}access_$log_year$log_month$log_day.log
mv ${logs_path}error.log ${save_path}error_$log_year$log_month$log_day.log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

阳光部落原创,更多内容请访问 http://www.sunbloger.com/

Nginx出现504 Gateway Time-out的解决方案

使用Nginx作为WEB服务器时,经常会遇到504 Gateway Time-out的错误提示。经过研究,基本可以确定多数情况下这个错误与Nginx本身无关,问题的根源在于Nginx将PHP的解析提交给后端php-fpm处理的过程中,由于fastcgi参数配置不当造成的超时等一系列的问题。

通过查询相关资料,总结了fastcgi配置参数的调整方案,供大家参考,详细如下:

阅读更多

Apache 2.0性能优化之MPM的选择与配置

Apache 2.0在性能上的改善最吸引人。在支持POSIX线程的Unix系统上,Apache可以通过不同的MPM运行在一种多进程与多线程相混合的模式下,增强部分配置的可扩充性能。相比于Apache 1.3,2.0版本做了大量的优化来提升处理能力和可伸缩性,并且大多数改进在默认状态下即可生效。但是在编译和运行时刻,2.0也有许多可以显著提高性能的选择。本文不想叙述那些以功能换取速度的指令,如HostnameLookups等,而只是说明在2.0中影响性能的最核心特性:MPM(Multi -Processing Modules,多道处理模块)的基本工作原理和配置指令。

阅读更多

Nginx分配CPU进程参数worker_cpu_affinity说明

对于具有多颗CPU的服务器,Nginx通过设置worker_cpu_affinity参数,即可轻松实现控制进程平均分配到多颗CPU上。

例如:服务器上安装有2颗双核CPU(在系统中显示CPU数量应该是4个)

例1:设定Nginx启用4个进程,那么可以写为:

worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;

阅读更多

2011年最热门的PHP开源项目回顾

本文来自于对活跃在SourceForge和GitHub上的项目的分析研究,同时我也在Twitter上向大家进行了调查,以免漏掉了很热门但是我却不知道的项目。

下面列出的项目都非常受欢迎,同时它们也成为了PHP编程界的标准,前景很好。(排名不分先后)

1. Symfony 2 及其组件

Symfony 2是一个完备的全栈HTTP框架,它可以以任何需要的方式来满足HTTP请求,而不仅仅是一个严格的MVC方法。Symfony 2为定义模块提供了一个Bundle API,你可以在应用程序之间进行模块移植。

此外,Symfony 2 有21个独立的组件,每个组件可当作一个独立的库。你可以用一个简单的Git子模块查看标准Autoloader或依赖注入容器。

阅读更多

给你的程序员200美元/小时

如果你在招聘程序员,你应该给他们200美元/小时。这样一来,很多其它任何方法都无法解决的难题都变的很容易。比如解决你的人才招募问题,保证你只有在真正需要的时候才去招募程序员。

期望问题

200美元/小时完全的阐明了你的期望。它是在说,你期望招募到这个领域里既专业又专长的人。

作为一个程序员,我面对这200美元/小时的劳动合同,拿它跟65美元/小时的合同相比,我会在2个关键方面表现的不同。首先,我会更加迫切的解决出现的问题和需求。如果在我休假的时候接到一个电话,客户要求一个新的功能。我会马上返回宾馆,立即开始实现它;高额的回报使我很容易向家人解释我的这种表现——事实上,她会完全的支持我这样。如果我的薪水只是普通水平,我绝对不可能表现成这样,因为不值得。也许我会因此丢了这份工作,但65美元/小时的工作到哪都能找到。

阅读更多

PHP5.3.9发布

PHP

PHP5.3.9的安全改进和修复主要包括:

  • 在hash碰撞的基础上增加max_input_vars来防止冲撞
  • 修复了bug #60150

PHP5.3.9主要的改进包括

  • 修复了bug #55475
  • 修复了bug #55609
  • 改进了FPM SAPI 模块

官方网站原文如下:

阅读更多

一个非常简单的PHP网站首页静态化方案

下面这段代码是一个用PHP编写的网站首页静态化程序,代码并非站长本人所写,只是在一个项目中看到的。这个方案是将首页内容存入到一个磁盘文件中,需要时从这个文件中取出内容并输出。

这个方案只适用于并发量不高的网站,因为在较高并发量状况下,频繁的进行磁盘IO对于性能影响较大。(高并发的网站可以考虑将内容存入Memcached)

代码如下:

阅读更多

修改Linux用户使用资源限制ulimit

如果ulimit设置的过小,对于并发量大的网站,可能会出现too many open files的错误。因此需要我们对ulimit设置进行调整,方法如下:

例如apache以www用户身份运行

首先,打开limits.conf文件
vi /etc/security/limits.conf

在末尾加上如下内容:
www soft nofile 32768
www hard nofile 65536

上面两行的含义是:
www – 所指定的用户名
soft – 软限制
hard – 硬限制
nofile – 允许打开的文件数量,后面的数字就是具体的数量。