从Nginx切换到Tengine的步骤分享

从Nginx切换到Tengine的步骤分享

从Nginx切换到Tengine主要是因为 concat 模块(合并js、css),以及动态加载模块功能(DSO)。 如果已经用apt-get方式安装了Nginx,可以尝试以下步骤以切换到Tengine(不需要卸载Nginx): 1. 到官方下载你喜欢的Tengine版本,这里以最新版(1.4.0)为例, 代码如下: wget http://tengine.taobao.org/download/ ···
Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线 网站架构案例

Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线 网站架构案例

Nginx  ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。   Nginx 的中文维基:   在高并发连接的情况下,Ngin ···
Nginx下WordPress的永久链接实现(301,404等)

Nginx下WordPress的永久链接实现(301,404等)

其实也是很简单的方法,修改nginx.conf文件,加入以下内容: 代码如下:location / {if (-f $request_filename/index.html){rewrite (.*) $1/index.html break;}if (-f $request_filename/index.php){rewrite (.*) $1/index.php;}if (!-f $request_filename){rewrite (.*) /index.php;}}重启nginx就可以了。
Nginx下WordPress链接(url伪静态)301永久重定向实现方法

Nginx下WordPress链接(url伪静态)301永久重定向实现方法

问题: 在几个blog程序中折腾的结果~ 导致url连续二次变化。这是第三次了。 nginx 通过rewrite 使用 “permanent;”参数 成301永久url重定向。 以往的url结构 //www.jb51.net/post/199/ 现在需要的url结构 //www.jb51.net/archives/199.html 过程: 学习nginx的配置规则,学习正则表达式(我也没接触过,学呗。) nginx的中文维科: 正则表达式入门: 简单说明下(认真学习正则表达式-我没认真学^_^): ^ 表示 匹配字符串的开始. $ 表示 匹配字符串的结束. $1 $2 表示变量 ([0-9]+) 表示至少1个、最多不限制的数字串. 头看晕了(不是程序员。)。写出表达式。 ―――――――――――――――――- ―――――――――――――――――- 代码如下: <A class="st_tag internal_tag" title="标签 rewrite 下的日志" href="http://www.iamle.com/archives/tag/rewrite" rel=tag>rewrite</A> ^/post/([0-9]+)/$ /archives/$1.html permanent; <A class="st_tag internal_tag" title="标签 rewrite 下的日志" href="http://www.iamle.com/archives/tag/rewrite" rel=tag>rewrite</A> ^/html/y2009/([0-9]+).html$ /archives/$1.html permanent; 把表达式加入nginx conf 文件。 ―――――――――――――――――C location / { 放这里。 } ―――――――――――――――――- 完成配置: 这是我的完整的WordPress nginx rewrite 规则配置。 1、nginx rewrite网址url变更301重定向。 2、nginx rewrite iamle.cn 重定向到 www.jb51.net 。 3、nginx WordPress rewrite伪静态规则(得以支持WordPress的自定义url)。 代码如下: location / { rewrite ^/post/([0-9]+)/$ /archives/$1.html permanent; rewrite ^/html/y2009/([0-9]+).html$ /archives/$1.html permanent; if ($host !~ "^www.iamle.com$"){ rewrite ^(.*) //www.jb51.net$1 permanent; } if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } } 测试结果: 访问://www.jb51.net/post/199/ 即可被跳转到 //www.jb51.net/archives/199.html
分享一份nginx重启脚本

分享一份nginx重启脚本

最开始的时候,我是用最直接的重启方式 killall -9 nginx;/data/nginx/sbin/nginx 如果机器比较慢,kill进程时一瞬间杀不完,再执行一次即可。这种重启方式不是特别安全,如果配置有误,则会重启失败,需要重新修改配置文件然后再启 动,期间会消耗一点时间。不过对于目前普遍还是不怎么严格的http界而言,这点时间还不至于产生太大损失,只要不是在关键时刻搞出来就好。如果希 ···
Nginx防止直接用IP访问Web服务器的设置方法

Nginx防止直接用IP访问Web服务器的设置方法

官方文档中提供的方法: If you do not want to process requests with undefined "Host" header lines, you may define a default server that just drops the requests: 代码如下: server { listen 80 default_server; server_name _; return 444; } 说白了就是只要是访客用ip访问就直接重置444错误。但是这样好像又不太友好,如果能直接给跳转到该web server的网址就好了。配置如下: 代码如下: server { listen 80 default_server; server_name _; rewrite ^ http://www.domain.com$request_uri?; } 这样还是有一点问题,某些特别的地址,我需要用ip访问,其他的都禁止,如何配置呢?比如说我想让监控宝直接用ip访问我的机器的nginx状态信息,其他的用ip访问的所有请求都跳转到域名上。 代码如下: server { listen 80 default_server; server_name _; location /xxxxx{ stub_status on; access_log off; } location /{ rewrite ^ http://www.domain.com$request_uri?; } } 这样就实现了我们想要的功能了。
nginx 关闭默认站点的方法

nginx 关闭默认站点的方法

当别人把垃圾域名转向至你的服务器时, 如果不采取措施,那么后果不堪设想。 国内机房一般都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。 Nginx默认的虚拟主机允许用户经过IP访问,或者经过未设置的域名访问(比如有人把他本人的域名指向了你的ip)你的VPS或服务器。 默认情况下,只要将域名解析到VPS的IP上,就可以访问安装lnmp的VPS。 如果想避免这种情况的出现,可以修改nginx.conf ,将默认的虚拟主机修改为如下即可屏蔽未绑定域名访问: 代码如下: server { listen 80 default; return 500; } 也可以把这些流量收集起来,导进到本人的网站,只需做以下跳转设置就可以: 代码如下: server { listen 80 default; rewrite ^(.*) http://jb51.net permanent; } 以此类推, 禁止通过IP访问,可以写成: 代码如下: server { listen 80 default; server_name _; return 500; }
Nginx upstream的5种权重分配方式分享

Nginx upstream的5种权重分配方式分享

1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: 代码如下: upstream backend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; } 3、ip_has ···
Nginx 502 bad gateway和Nginx 504 Gateway Time-out错误解决方法 错误解决办法

Nginx 502 bad gateway和Nginx 504 Gateway Time-out错误解决方法 错误解决办法

最近服务器宕机的现象比较频繁,临下班时分,G给挂掉了,502 Bad Gateway Nginx,不由得让我想起之前的504 Gateway Time-out,两者应该有点联系,一定得弄清楚。Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI。 解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Bad G ···
利用Nginx反向代理功能解决WEB网站80端口被封的解决方法

利用Nginx反向代理功能解决WEB网站80端口被封的解决方法

大陆的网络环境,都在天朝神兽的制度下让我等小P民悲剧一片;动不动就拔网线、封机房;现在更厉害的一招,从网关封杀你的80端口,一旦被封,网站域名就无法访问; 以上便废话,下面转入正题,其它就不帖了,直接给代码,利用nginx的反向代理功能,一般大家都很看懂,也不多记录了; [code] server { listen 80; server_name a.jb51.net; proxy_set_hea ···
Ubuntu+Nginx+Mysql+Php+Zend+eaccelerator安装配置文字版

Ubuntu+Nginx+Mysql+Php+Zend+eaccelerator安装配置文字版

把我架设lnmp网站的过程写出来,希望对想架设网站的朋友有所帮助,如有更好的办法请提出来。 之所以用nginx没用apache,是因为nginx的效率更高一些,尤其是对一些低配置的服务器,比如我在单位256M内存的旧机器上架设的服务器。 1、安装ubuntu server 10.04或10.10,其中安装语言选的en,时区shanghai,服务只安装ssh,其他全部用默认就行。 提示:以上安装过程 ···
Nginx(PHP/fastcgi)的PATH_INFO问题

Nginx(PHP/fastcgi)的PATH_INFO问题

在Apache中, 当不加配置的时候, 对于PHP脚本, AcceptPathInfo是默认接受的, 也就是说: 如果在服务器在存在一个/laruence/index.php 那么, 对于如下请求, 代码如下: /laruence/index.php/dummy /laruence/dumm Apache都接受, 都会认为是对info.php的访问, 并会设置PATH_INFO为dummy 而对于 ···
nginx 1.0.0配ngx_cache_purge实现高效的反向代理

nginx 1.0.0配ngx_cache_purge实现高效的反向代理

在功能上,Nginx已经具备Squid所拥有的Web缓存加速功能、清除指定URL缓存的功能。而在性能上,Nginx对多核CPU的利用,胜过Squid不少。另外,在反向代理、负载均衡、健康检查、后端服务器故障转移、Rewrite重写、易用性上,Nginx也比Squid强大得多。这使得一台Nginx可以同时作为“负载均衡服务器”与“Web缓存服务器”来使用。--by 张宴 下载2011-05-03更新 ···
实现nginx&php服务器配置的非主流配置方法

实现nginx&php服务器配置的非主流配置方法

实现php&nginx服务器配置的非主流配置方法 这种方法并非以前所流行的apache 加 php_module 的方式运行,我是采用nginx 作为web服务器,以fastcgi的方式运行php。 linux下编译: nginx我还是习惯选择8.54的版本,它的编译依赖以下几个软件包,解压这些源码包,在configure中设置好这些源码的路径,nginx在编译的时候会自己将他们编译进去的:    ···
Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版

Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版

本文是依照张宴的 Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器(第5版) 编写 原文地址 因为编译过程和等待时间繁琐,于是就自己写了个全自动安装的shell脚本,此脚本可以随意修改,转载请注明出处。 这篇文章为这个系列的第二版,在第一版的基础上加入 1、日志切割 2、智能选择yum或者rpm安装 下载地址 注意:如果不能使用yum源,请放 ···
国内一些常用PHP的CMS的Nginx服务器的伪静态规则整理

国内一些常用PHP的CMS的Nginx服务器的伪静态规则整理

但很多网友还是不太了解Nginx服务器的伪静态规则的,而如果你安装的是一些常用的程序,如WordPress,PHPCMS,ECSHOP,SHOPEX,Discuz 7,那伪静态规则就有现成的了。为方便各位站长,收集了这几个常用程序的伪静态规则。 WordPress伪静态规则 代码如下: location / { index index.html index.php; if (-f $request ···
nginx+apache+mysql+php+memcached+squid搭建集群web环境

nginx+apache+mysql+php+memcached+squid搭建集群web环境

服务器的大用户量的承载方案一、前言 二、编译安装 三、 安装MySQL、memcache 四、 安装Apache、PHP、eAccelerator、php-memcache 五、 安装Squid 六、后记 一、前言,准备工作当前,LAMP开发模式是WEB开发的首选,如何搭建一个高效、可靠、稳定的WEB服务器一直是个热门主题,本文就是这个主题的一次尝试。我们采用的架构图如下: 引用-------- ···