日期:2014-05-17  浏览次数:20426 次

【汇总】nginx【php,location,alias,504】

?? 安装

#tar -zxvf nginx-1.0.5.tar.gz
#cd nginx-1.0.5
#./configure --prefix=/usr/local/nginx
#make
#make install

?

?

?? 启动

// 启动
#/usr/local/nginx/sbin/nginx

// 重启
#/usr/local/nginx/sbin/nginx -s reload
#/usr/local/nginx/sbin/nginx -s reopen

?

?

?? 配置1 - PHP(fastcgi安装)

?? 配置2 - Alias

....

http {
    ....

    server {
        ....

        # http://.../a/
        location /a/ {
            alias /var/www/a/;
        }

        # http://.../a/*.php
        location ~ /a/.+\.php$ {
            rewrite    /a/(.+\.php) /$1 break;
            alias    /var/www/a/;
            fastcgi_pass    127.0.0.1:9000;
            fastcgi_index    index.php;
            fastcgi_param    SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include    fastcgi_params;
        }

        # http://.../
        location / {
            alias /var/www/root/;
        }

        # http://.../*.php
        location ~* \.(php)$ {
            alias    /var/www/root/;
            fastcgi_pass    127.0.0.1:9000;
            fastcgi_index    index.php;
            fastcgi_param    SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include    fastcgi_params;
        }
    }
}
?

?

?? 关于alias中使用rewrite的必要性:

?? 引用网址:http://www.pppei.net/blog/post/133

?

?

?? 关于nginx的location规则

?? 引用网址:https://wangyan.org/blog/nginx-location.html

location [=|~|~*|^~|@] /uri/ { … }
〖=〗 表示精确匹配,如果找到,立即停止搜索并立即处理此请求。
〖~〗 表示区分大小写匹配
〖~*〗 表示不区分大小写匹配
〖^~〗 表示只匹配字符串,不查询正则表达式。
〖@〗 指定一个命名的location,一般只用于内部重定向请求。

?? 配置实例

location  = / {
  # 只匹配对 / 目录的查询.
  [ config A ]
}
location  / {
  # 匹配以 / 开始的查询,即所有查询都匹配。
  [ config B ]
}
location ^~ /images/ {
  # 匹配以 /images/ 开始的查询,不再检查正则表达式。
  [ config C ]
}
location ~* \.(gif|jpg|jpeg)$ {
  # 匹配以gif, jpg, or jpeg结尾的文件,但优先级低于config C。
  [ config D ]
}
?

?

?? 解决nginx 504 Gateway Time-out的一些方法

?? 引用网址:http://blog.csdn.net/tengzhaorong/article/details/5814905

fastcgi_buffers 2 256k;
fastcgi_buffer_size 128K;
fastcgi_busy_buffers_size 256K;
fastcgi_temp_file_write_size 256K;

?? 注:本机测试并不显著,有时间附上配置说明

?