分类 Nginx 下的文章

lnmp开启pathinfo,支持index.php/xx/xx这种脑残URL

有些程序的URL是www.xxoo.com/index.php/xx/xx/这种模式,典型thinkphp爱用的脑残URL模式。lnmp环境默认是不支持,打开会显示404,需要lnmp支持pathinfo。

找到虚拟主机对应的xxoo.conf文件,找到:

location ~ [^/]\.php(/|$)
{
    # comment try_files $uri =404; to enable pathinfo
    try_files $uri =404;
    fastcgi_pass  unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
    include pathinfo.conf;
}

阅读剩余部分

nginx不带www到www域名的重定向

目的:实现xxoo.com/$ 301重定向到www.xxoo.com/$

第一步:xxoo.com和www.xxoo.com都解析到同一个IP,绑定到同一个目录上。

第二步:打开该文件的配置文件www.xxoo.com.conf

{
               listen       80;
               server_name  xxoo.com www.xxoo.com;
               index index.html index.php;
               root  /data/www/wwwroot;
               if ($http_host !~ "^www.xxoo.com$") {
                       rewrite  ^(.*)    http://www.xxoo.com$1 permanent;
                 }
               ........................
}

第三步:上传conf,重启nginx。

nginx实现二级域名301重定向到对应顶级域名目录上

有一个网站,由于之前没规划好,把网站上的很多栏目做成了二级域名。比如:
mm.xxoo.com 对应的目录是 www.xxoo.com/mm/
gg.xxoo.com 对应的目录是 www.xxoo.com/gg/

由于运营思路调整,需要取消二级域名,那么此时不能唐突地直接去掉解析,改掉网站上的url,这样之前做的推广,发的外链效果就完全失效了,且造成网站大量死链。因此,唯一的方法是做301重定向。

在nginx下,找到mm.xxoo.com对应的conf配置文件,在配置文件里添加如下代码:

location ~* ^/(.*) {  
    rewrite ^/(.*)$ http://www.xxoo.com/mm/$1 permanent;
} 


阅读剩余部分

nginx自动切割服务器日志

Web 访问日志 (access_log) 记录了所有外部客户端对Web服务器的访问行为,包含了客户端IP,访问日期,访问的URL资源,服务器返回的HTTP状态码等重要信息。
一条典型的Web访问日志如下:

112.97.37.90 - - [14/Sep/2013:14:37:39 +0800] "GET / HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; Lenovo A326 Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.1.259" -

当网站访问量大后,日志数据就会很多,如果全部写到一个日志文件中去,文件会变得越来越大。文件大速度就会慢下来,比如一个文件几百兆。写入日志的时候,会影响操作速度。另外,如果我想看看访问日志,一个几百兆的文件,下载下来打开也很慢。使用第三方免费的日志分析工具-日志宝,可以上传nginx、apache、iis的日志文件,它们帮助分析网站安全方面。毕竟专攻,更加专业。日志宝对上传的文件也是做了大小限制的,不超过50m。


阅读剩余部分