浏览模式: 普通 | 列表
分类: nginx | < | 1 | 2 | 3 | 4 | 5 | 6 | >
本准备换Linux服务器,所以数据迁移暂时需要使用静态页面临时代替一下,之前的article.asp?id=xxx都要重定向到静态文件article/xxx.htm,下面看看Nginx是如何进行Rewrite的!

静态地址重定向到带参数的动态地址

rewrite "^(.*)/service/(.*)/.html$" $1/service.php?sid=$2 permanent;


带参数的动态地址重定向到静态地址

if ($query_string ~* id=(.*)) {
        set $id $1;
        rewrite "^(.*)/article.asp$" $1/article/$id.htm last;
}

泛域名解析

server_name www.w3cgroup.com *.w3cgroup.com;
server_name_in_redirect off;
#设置默认root
...

阅读全文…

Nginx - rewrite 不区分大小写进行匹配

[ 2014-09-13 11:06:23 | 作者: admin ]
Use (?i) to match case-insensitively

eg: rewrite (?i)/(Cheap-[^\/]+\.html)(.*)$ /filter.php?route=$1 last;


参考范例
rewrite ^/html/newsList-(.*)\.html$ /html/newsList.php?cid=$1 last;
修改为
rewrite (?i)^/html/newsList-(.*)\.html$ /html/newsList.php?cid=$1 last;


参考:
http://blog.csdn.net/w6611415/article/details/27367629
http://stackoverflow.com/questions/21577841/nginx-case-insensitive-url-redirection

php安装curl支持

[ 2014-08-30 15:48:17 | 作者: admin ]
1、已经安装了php情况,安装curl
进入安装原php-5.3.9的源码目录,(如果删了,但是还有原来的压缩文件的话,重新解压就行)
cd php-5.3.9/ext/curl
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make test
make install

操作完成在目录/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/下生成curl.so文件

接下来修改php.ini配置文件

在php.ini中找到extension_dir字段,并把其值修改为/usr/loca...

阅读全文…

启用 php-fpm 的 slow log 日志

[ 2014-05-26 09:48:50 | 作者: admin ]
前段时间折腾了一下 分析Centos系统下LNMP频繁502 Bad Gateway问题,但仍有漏网之鱼导致网站偶尔的 502 Bad Gateway,今天再折腾一下,启用 php-fpm 的 slow log 日志,查看执行时间过长的php文件,并将执行时间过长的进程直接终止掉!看看效果如何!

具体操作方法也简单,就修改一个文件,执行命令:# vi /usr/local/php/etc/php-fpm.conf

PHP 5.3.3 之前版本设置如下:
             The timeout (in seconds) for serving a single request after which the worker process will be terminated
             Should be used when 'max_execution_time'
...

阅读全文…
nginx
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" $http_x_forwarded_for';

       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
         {
                expires 30d;
                access_log off;
         }

         location ~ .*\.(js|css)?$
         {
                expires 1d;
                access_log off;
...

阅读全文…

nginx rewrite问号处理

[ 2013-11-30 22:32:44 | 作者: admin ]
配置一个nginx的rewrite,简直是被搞死了。其实我就是想把/xxx/0.mp4?key=123456abcde转换为/xxx.mp4?segno=0&key=123456abcde这种形式经过不断的尝试,也分析了一下原因,发现niginx的内容设置中必须注意的一些问题:
1.nginx在进行rewrite的正则表达式中只会将url中?前面的部分拿出来匹配
2.匹配完成后,?后面的内容将自动追加到url中(包含?),如果不让后面的内容追加上去,请在最后加上?即可
3.如果想要?后面的内容时请使用$query_string

在这里提醒一点,调试的时候在rewrite的最后一个配置项中不要使用break last这些,使用redirect可以看到转换后的地址。综合以上几点,使用的配置项为


         rewrite ^/(.+)/(\d+)\.mp4$ /$1.mp4?segno=$2&$query_string? last;
...

阅读全文…
p.s.压力测试是很好的检验方法,用webbech或者ab等一些工具模拟并发服务器,若服务器没有限制连接数或带宽,服务器很容易被压跨。


http {


limit_conn_zone $binary_remote_addr zone=one:10m;
limit_req_zone $binary_remote_addr zone=perip:5m rate=20r/s;

#如果在1.1.8之后版本还用语法:limit_zone name $variable size,会报警告nginx: [warn] the “limit_zone” directive is deprecated, use the “limit_conn_zone” directive

#这里,设置客户端的IP地址作为键。注意,这里使用的是$binary_remote_a...

阅读全文…
1. 多台web服务器的情况。
搭建nfs实现web目录共享,web1做服务器端,web2,web3,web4,web5挂载web1
web1做服务器端,编辑/etc/exports文件,内容是:
/home/www/ 192.168.0.0/24(rw,no_root_squash)

只要配这个文件 就好了,里面设置了ip段,然后启动
/etc/init.d/nfs restrat
/etc/init.d/portmap restart

service portmap start貌似也可以启动

web2,web3,web4,web5上挂载web1的/home/www/
mount -t nfs 192.168.0.101:/home/www/ /home/www/

查看是否挂载命令是df -h
...

阅读全文…