Nginx + PHP(FastCGI)安装配置笔记

这是站长在2011年时一次安装服务器时所记录的Nginx和PHP的安装笔记。安装过程记录的比较简略,仅仅是一个大致的流程,一些细节描述的不够详细,请多多谅解,我会在日后重新整理一份详细的安装过程,本文仅供参考!

软件环境:CentOS 5.7 + PHP 5.2.17 + Nginx 0.8.55

阅读更多

为Nginx开启SSI模块以支持SHTML解析

SSI 是 Server Side Include 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。

在 Nginx 中,开启 SSI 支持非常简单,通过向 nginx.conf 中添加几行设置命令即可实现。

将下面的3行代码添加到 nginx.conf 文件的 http{} 段中,以开启 SSI 模块的支持:

ssi on;
ssi_silent_errors on;
ssi_types text/shtml;

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

Nginx 1.1.13 开发版本发布

Nginx

Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,特点是占用内存少、并发能力强,其源代码以类BSD许可证的形式发布。

该版本的主要改进包括:

  • 新特性:在“ssl_protocols”指令中添加了“TLSv1.1”和“TLSv1.2”参数。
  • 修复:“limit_req”指令参数不能正确继承。
  • 修复:如果使用正则表达式,“proxy_redirect”指令则不能正确处理“Refresh”头信息。
  • 修复:如果没有运行中的上游,那么带有“error”参数的“proxy_cache_use_stale”指令不能从缓存中返回结果。
  • 修复:“worker_cpu_affinity”指令可能无法正常工作。
  • 修复:nginx不能在Solaris中安装。
  • 修复:ngx_http_mp4_module中的相关问题。

阅读更多

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配置参数的调整方案,供大家参考,详细如下:

阅读更多

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;

阅读更多

Nginx超微软成世界第二大网络服务器

Nginx

1月5日消息,据国外媒体报道,英国网络追踪和调查机构Netcraft近日公布报告指出,由于受到戴尔公司董事长Michael Dell及其他风险资本家的青睐,新兴的开源网络服务器公司Nginx已经超过了微软IIS(互联网信息服务器Internet Information Server),成为了世界上所有活动网站中第二大网络服务器供应商。

根据Netcraft的“2012年1月网络服务器调查报告”指出,在过去的一个月中,Nginx在各种网站中都获得了市场份额的提升,而其竞争对手Apache、微软和谷歌的市场份额均有所下滑。

据悉,自从去年7月份Nginx创始人Andrew Alexeev和Igor Syosev创建公司的以来,就已经带来了一定的市场冲击。该平台于2004年推出,主要致力于为世界上最繁忙的1000家网站中前25%的公司,提供高容量的网络流量服务,包括Facebook、Zappos、Groupon、Hulu、Dropbox以及WordPress等。Nginx去年10月份收到了来自戴尔首席执行官迈克尔·戴尔的私人风险投资公司MSD Capital、BV Capital以及Runa Capital的300万美元投资。

阅读更多

2011年使用率增长最快的十大Web技术

W3techs网站评出了2011年十大使用增速最快的Web技术,本文对其进行编译供各位参考。注意,该评选结果是在针对前100万流行网站(根据Alexa值统计)进行调查统计出的。

以下是2011年前100万流行网站中使用率增长最多的10大Web技术。

1. jQuery

jQuery在前100万流行网站选择中新增了惊人的145 300个名额。也就是,在过去的一年中,每天都有398个网站开始使用它。jQuery目前在所有网站中的使用率已达到了42.8%。其市占率更是达到了 84.1%,许多人都将它视为JavaScript库的事实标准。

2. UTF-8

UTF-8在去年的榜单中居于榜首地位,而且也正变得越来越流行。去年有82 6000个新增网站选择使用它。目前已有超过2/3的网站将字符编码切换为UTF-8。

阅读更多

Nginx手册:Gzip压缩模块详解

Nginx中的Gzip模块,支持在线实时压缩输出数据流。有利于减少访问网站过程中传输的数据量,从而减少带宽资源的占用率。

使用范例

gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml;

指令详解:

阅读更多

Nginx的rewrite规则基础知识

Nginx的rewrite规则与Apache有一些区别,特地找来一些资料,学习一下Nginx的rewrite规则。

正则表达式匹配,其中:
~ 为区分大小写匹配
~* 为不区分大小写匹配
!~ 和 !~* 分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配,其中:
-f 和 !-f 用来判断是否存在文件
-d 和 !-d 用来判断是否存在目录
-e 和 !-e 用来判断是否存在文件或目录
-x 和 !-x 用来判断文件是否可执行

阅读更多