要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo?
pathinfo不是nginx的功能,pathinfo是php的功能。
php中有两个pathinfo,一个是环境变量$_SERVER['PATH_INFO'];另一个是pathinfo函数,pathinfo() 函数以数组的形式返回文件路径的信息;。
nginx能做的只是对$_SERVER['PATH_INFO]值的设置。
下面我们举例说明比较直观。先说php中两种pathinfo的作用,再说如何让nginx支持pathinfo。
php中的两个pathinfo
php中的pathinfo()
pathinfo()函数可以对输入的路径进行判断,以数组的形式返回文件路径的信息,数...
为什么要做web cache,我想大家最主要的是解决流量的压力。随着网站流量的提升,如果只是单台机器既处理静态文件,又处理动态脚本,显然效率很难上升,不能处理日益上涨的流量压力。与此同时某些网站的页面内容并不是经常变化,因此我们可以分两层架构来组织网站。前端web缓存+后端web服务器,可以参看这里配置nginx反向代理配置
前端web缓存有多重方式实现,原理就是队请求结果页面静态化并设置一个超时期限,缓存页面过期后,新请求到达时重新到后端web服务器获取内容更新;没有nginx前比较流行的方法是squid,但squid不能充分利用处...
nginx以高并发,省内存著称。
相信大多数安装nginx的同学都想知道自己的nginx性能如何。
我想跟大家分享下我使用ab工具的压力测试方法和结果,
ab是针对apache的性能测试工具,可以只安装ab工具。
ubuntu安装ab
apt-get install apache2-utils
1
apt-get install apache2-utils
centos安装ab
yum install httpd-tools
1
yum install httpd-tools
...
之前使用盛大云服务器,用的是ubuntu装的apache服务器,
但网站总是莫名其妙的失去响应,需要重启apache才可以正常服务,看日志也没什么 异常,也就懒得研究,直接换成nginx。
把wordpress从apache挪到nginx比较容易,源文件拷到nginx根目录下,不需要修改代码,修改下wordpress在nginx下的重写规则就可以了。
但当我写文章发图片时,却提示我"无法将上传的文件移动至" 上传目录的错误。
今天(2012.12.4增加)又发现这个错误也可以用同样方式解决,nginx上传图片出现http error 错误
[crit] 22919#0: *600783 open() "/usr/lo...
通过putty或者securecrt连到linux服务器,使用vi编辑*.php 或*.c文件时,
蓝色的注释很淡,看不清,看起来很费眼
效果如下
我本身有习惯于默认配色,不想修改配色方案,只想把看不清蓝色的注释换掉,修改成目录的蓝色
翻了翻相关资料,大部分都是修改配色方案,最后发现可以通过hi命令来修改注释的颜色。
hi指令使用方法
设置关键字为蓝色非粗体 :hi Identifier ctermfg =blue cterm =none (bold 就设置成粗体)
那我们的问题就可以通过添加一条hi指令解决了
1. vi ~/.vimrc 加入如下内容
hi Comment ctermfg =blue
2.修改后...
linux系统下vim或者vi编辑器默认是没有对nginx的语法高亮设置。
需要自己手动配置。
1.下载vi语法高亮配置到 ~/.vim/syntax,如果不存在则创建该目录
cd ~/.vim/syntax
wget http://www.vim.org/scripts/download_script.php?src_id=14376 -O nginx.vim
2.增加配置~/.vim/filetype.vim 到最后一行,如果文件不存在则创建
vi ~/.vim/filetype.vim
加入如下内容:
au BufRead,BufNewFile /usr/local/nginx/* set ft=nginx
其中红色路径为你的nginx.conf文件路径
nginx自定义页面非常简单,两条指令就可以搞定
1. 在http{}段加入红色指令,如下
http {
...
fastcgi_intercept_errors on;
error_page 404 /404.html;
...
}
2. 把404页面放到根目录(root指令定义的目录下),默认是安装目录的html目录下。
3.测试配置是否正确
/usr/local/nginx/nginx -t
4.重新载入配置
kill -HUP cat /usr/local/nginx/nginx.pid
注:
自定义的404.html的内容必须大于512字节,否则ie下会显示默认404错误页面,不能显示自定义的404页面...
php5.2以后自带json_decode函数,但是对json文本串的格式要求非常严格。
很可能使用该函数得到的返回值是NULL
可以使用使用json_last_error()函数获取到的返回值来帮助我们判断出问题的原因。
其中如果提示错误JSON_ERROR_SYNTAX(Syntax error),表示json串格式错误。
可以通过以下几个方式排错:
1. json字符串必须以双引号包含
$output = str_replace("'", '"', $output);
2. json字符串必须是utf8编码
$output = iconv('gbk', 'utf8', $output);
3.不能有多余的逗号 如:[1,2,]
用正则替换掉,preg_replace('/,s*([]}])/m', '$1', $...
从一台服务器去连接另一台服务器的mysql提示如下错误
ERROR 2003 (HY000): Can't connect to MySQL server on 'blog.redis.com.cn' (111)
注释掉/etc/mysql/my.conf中以下两条
#skip-networking
#bind-address = 127.0.0.1
重启mysql服务
service mysql restart
server {
listen 80;
server_name www.redis.com.cn;
rewrite ^(.*) http://redis.com.cn$1 permanent;
}
server {
listen 80;
server_name redis.com.cn;
# root directive should be global
root /var/www/redis.com.cn/public/app/webroot/;
access_log /var/www/redis.com.cn/log/access.log;
error_log /var/www/redis.com.cn/log/error.log;
location / {
index index.php index.html index.htm;
try_files $uri $...