0℃
我们知道apache php mod的方式可以很方便的配置 open_basedir 限制各个站点的目录访问权限。
nginx + php-fpm fastcgi的方式需要这样做。
首先php的版本必须大于等于php5.3.3。
方法1 在nginx 配置 fastcgi_param参数
在nginx的 php配置中 或者 在 包含的 include fastcgi.conf 文件中加入:
fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";
意思是设置fastcgi 参数 PHP_VALUE 的open_basedir。
$document_root php文档根目录,就是 nginx 配置项 root 配置的网站目录...
目录访问, 跨站跨目录阅读全文
0℃
对很多人而言,配置Nginx无外乎就是搜索一篇教程,然后拷贝粘贴。听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷贝粘贴,早晚有一天会为此付出代价。 假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由。 此时很多教程会教大家这样配置Nginx+PHP:
server {
listen 80;
server_name blog.jiunile.com;
root /path;
location / {
i...
Nginx, nginx配置规范阅读全文
0℃
2013年07月15日
⁄ nginx
⁄ 被围观 5,047 view+
使用nginx自带模块生成缩略图,模块:–with-http_image_filter_module.
nginx编译参数,线上--with-debug关闭,不需要打开
./configure --prefix=/usr/local/nginx-1.4.1 --with-http_stub_status_module --with-http_realip_module --with-http_image_filter_module --with-debug
修改nginx.conf配置文件,或者放到你相应的server块中.
location ~* /(\d+)\.(jpg)$ {
set $h $arg_h; # 获取参数h的值
set $w $arg_w; # 获取参数w的值
#image_filter crop $h $w;
image_filter resize $h $w; # 根据给定的...
Nginx, nginx生成缩列图阅读全文
0℃
2013年05月02日
⁄ nginx
⁄ 被围观 4,554 view+
nginx提供了$upstream_cache_status这个变量来显示缓存的状态,我们可以在配置中添加一个http头来显示这一状态,达到类似squid的效果。
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout ...
Nginx, upstream_cache_status, 缓存命中率阅读全文
0℃
mod_pagespeed于2010年发布,让网站管理员可以为其Web应用提速,而不需要深度的性能优化造诣。mod_pagespeed最初版本只作为Apache的模块,并不兼容Nginx这个最流行并为许多大型站点所使用的高性能开源网络服务器。如今Nginx的PageSpeed Beta版终于发布,又名ngx_pagespeed。
作为Nginx组件,ngx_pagespeed将重写你的网页,让用户以更快的速度进行访问。重写的工作包括压缩图片、缩减CSS和JavaScript、扩展缓存时间,同样还包括其它一些最佳实践:
优化缓存——整合应用程序的数据和逻辑
最小化round-trip次数——削减...
Nginx, pageseed阅读全文
0℃
我们知道,Nginx的核心设计思想是事件驱动的非阻塞I/O。Nginx被设计为可以配置I/O多路复用策略,在Unix系统中传统的多路复用是采用select或poll,但是这两个方法的问题是随着监听socket的增加,性能会下降,因为在linux内核中是采用轮询的方式判断是否可以触发事件,换句话说算法的复杂度为O(N),而在较新的linux内核中引入了复杂度为O(1)的epoll,因此Nginx在Linux下默认采用epoll,而在FreeBSD下默认采用kqueue作为I/O策略。
即便是这样,传统的缓存策略仍可能造成效率低下,因为传统上是通过PHP操作memcache的...
nginx模块, srcache阅读全文
0℃
2012年12月21日
⁄ nginx
⁄ 被围观 3,515 view+
用Nginx建站的同学,常会有限速需求。开发测试阶段在本地限速模拟公网的环境,方便调试。投入运营会有限制附件下限速度,限制每个用户的访问速度,限制每个IP的链接速度等需求。
刚遇到一个Bug在网络很卡的情况下才能重现,本地调试访问本机速度太快,配置Nginx成功达到限速目的,在此分享出来。
配置简单,只需3行,打开“nginx根目录/conf/nginx.conf”配置文件修改如下:
http{
……
limit_zone one $binary_remote_addr 10m;
……
server {
location / {
……
...
Nginx, nginx限速阅读全文
0℃
#定义Nginx运行的用户和用户组
user www www;
#nginx进程数,建议设置为等于CPU总核心数。nginx 1.2.5 可以定义为auto
worker_processes 8;
#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
error_log /var/log/nginx/error.log info;
#进程文件
pid /var/run/nginx.pid;
#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。
worker_rlimit_nofile 65535;
...
Nginx, nginx.conf阅读全文
2℃
#!/usr/bin/env python
# coding=utf-8
# author:xupeng(xupeng@joysteam.com)
# Description:nginx日志切割脚本
# Usage crontab: 59 23 * * * python /path/logcron.py
import os
import glob
import time
import shutil
#日志路径
path = '/htdocs/logs'
#切割后日志路径
cut_path = '/htdocs/cutlogs'
#nginx pid
nginx_pid = '/usr/local/nginx/nginx.pid'
#删除之前一个月的日志目录
year = int(time.strftime("%Y", time.localtime()))
month = int(time.strftime("%m", time.loca...
nginx日志切割, python阅读全文
0℃