Nginx泛域名解析及Rewrite重定向普通页面及带参数的页面
[ 2014-09-13 15:36:16 | 作者: admin ]
本准备换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
...
阅读全文…
静态地址重定向到带参数的动态地址
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;
参考范例
参考:
http://blog.csdn.net/w6611415/article/details/27367629
http://stackoverflow.com/questions/21577841/nginx-case-insensitive-url-redirection
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的源码目录,(如果删了,但是还有原来的压缩文件的话,重新解压就行)
操作完成在目录/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/下生成curl.so文件
接下来修改php.ini配置文件
在php.ini中找到extension_dir字段,并把其值修改为/usr/loca...
阅读全文…
进入安装原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/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 之前版本设置如下:
阅读全文…
具体操作方法也简单,就修改一个文件,执行命令:# 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'
...Should be used when 'max_execution_time'
阅读全文…
Apache和Nginx开启访问日志但不记录图片css等的方法
[ 2014-05-24 14:26:42 | 作者: admin ]
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;
...'$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;...
阅读全文…
1.nginx在进行rewrite的正则表达式中只会将url中?前面的部分拿出来匹配
2.匹配完成后,?后面的内容将自动追加到url中(包含?),如果不让后面的内容追加上去,请在最后加上?即可
3.如果想要?后面的内容时请使用$query_string
在这里提醒一点,调试的时候在rewrite的最后一个配置项中不要使用break last这些,使用redirect可以看到转换后的地址。综合以上几点,使用的配置项为
rewrite ^/(.+)/(\d+)\.mp4$ /$1.mp4?segno=$2&$query_string? last;
阅读全文…
Nginx 限速和限制请求配置,使用limit模块仿cc
[ 2013-09-10 09:55:56 | 作者: admin ]
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...
阅读全文…
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...
阅读全文…
多台web服务器方案及维护方法,web负载均衡
[ 2013-09-01 17:15:09 | 作者: admin ]
1. 多台web服务器的情况。
搭建nfs实现web目录共享,web1做服务器端,web2,web3,web4,web5挂载web1
web1做服务器端,编辑/etc/exports文件,内容是:
只要配这个文件 就好了,里面设置了ip段,然后启动
/etc/init.d/nfs restrat
/etc/init.d/portmap restart
service portmap start貌似也可以启动
web2,web3,web4,web5上挂载web1的/home/www/
查看是否挂载命令是df -h
...
阅读全文…
搭建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
...
阅读全文…