当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪nginx web网站图片显示过慢 超大附件不完全下载的解决方法      问题: 打开网站后台管理系统,发现图片显示非常慢,查看nginx前端代理上查出: [error] 28423#0: *5 connect() failed (111: Connection refused) while connecting to upstream 打开VPN,直接用后台服务器的IP地址.........
    ▪nginx日志中记录cookie的实现方法      配置文件段如下:   代码如下: log_format for_cookie '$remote_addr - - [$time_local] "$request" '             '$status $body_bytes_sent'             ' "$http_referer" "$http_user_agent" "$guid"'; set $guid "-";  .........
    ▪关于nginx的fastcgi_cache的问题      问题描述: 使用nginx的proxy_cache缓存后端的另一台nginx处理的url,后端为php,没有问题。 当使用nginx的fastcgi_cache缓存本机的php页面时,出现问题,1个缓存页中包含了多个页面。 url类似为:htt.........

[1]nginx web网站图片显示过慢 超大附件不完全下载的解决方法
    来源: 互联网  发布时间: 2013-12-24

问题:
打开网站后台管理系统,发现图片显示非常慢,查看nginx前端代理上查出:
[error] 28423#0: *5 connect() failed (111: Connection refused) while connecting to upstream
打开VPN,直接用后台服务器的IP地址去访问,发现速度相当快,于是怀疑是代理服务器的配置问题。
 
当下载大的附件,或是页面中有大图片时,就会下载中断或是图版无法显示 也许你要说我用的nginx缺省的设置没碰到这问题,那是因为你的网站没大文件。
 

代码如下:
location /mypm {
 root /home/mypmcc/mypm20100914;
 index  index.jhtml index.html login_page.jhtml;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header   Host $host;
 proxy_pass http://127.0.0.1:8080 ;
 client_max_body_size     100m;
 client_body_buffer_size  128k;
 proxy_connect_timeout    600;
 proxy_read_timeout       600;
 proxy_send_timeout       6000;
 proxy_buffer_size        32k;
 proxy_buffers4 64k;
 proxy_busy_buffers_size 128k;
 proxy_temp_file_write_size 512k;
}
 

  nginx 反向代理参数说明
    proxy_connect_timeout 600;  #nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_read_timeout    600;  #连接成功后,后端服务器响应时间(代理接收超时)
    proxy_send_timeout    600;  #后端服务器数据回传时间(代理发送超时)
    proxy_buffer_size     32k;  #设置代理服务器(nginx)保存用户头信息的缓冲区大小
    proxy_buffers         4 32k;#proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
    proxy_busy_buffers_size  64k;           #高负荷下缓冲大小(proxy_buffers*2)
    proxy_temp_file_write_size  64k;       #设定缓存文件夹大小,大于这个值,将从upstream服务器传
 
   proxy_temp_file_write_size 64k;我的图片是200多k的,哎!  
   问题就出在proxy_temp_file_write_size上,当你的文件超过该参数设置的大小时,nginx会先将文件写入临时目录(缺省为nginx安装目下/proxy_temp目录),或直接更改proxy_temp_file_write_size的值。
缺省nginx是以nobody身份启动的,用ls -al 命令查看proxy_temp目录 nobody是proxy_temp目录的所有者,怪了那为什么没权限呢,接下来我查看proxy_temp的父目录既nginx安装目录。发现 nobody竞然没权限,怪不得会出上面的问题。
然后设置任何人都可以写 proxy_temp目录,重启 nginx 即可解决。


    
[2]nginx日志中记录cookie的实现方法
    来源: 互联网  发布时间: 2013-12-24

配置文件段如下:
 

代码如下:

log_format for_cookie '$remote_addr - - [$time_local] "$request" '
            '$status $body_bytes_sent'
            ' "$http_referer" "$http_user_agent" "$guid"';

set $guid "-";
        if ( $http_cookie ~* "guid=(\S+)(;.*|$)"){
                set $guid $1;
        }

access_log /usr/local/nginx/logs/click_hy.log for_cookie

注:上面的配置是取cookie中的guid的值,如果要取所有的cookie,则不需要set,$http_cookie即包含所有的cookie的值。
$guid :guid替换成你需要取的cookie中的项

测试:关于种cookie,可以使用下面的html代码,编辑,添加需要种的cookie
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<meta http-equiv="Refresh" content="10"> //为了方便测试,每10秒刷新一次页面
</head>
<body>
<h1>test.test.com域测试</h1>
下面列出了该域的cookie<br>
<p>
<script>
document.cookie="guid=A1UD8E5512451111111111"; //种cookie,追加
document.cookie="city=beijing"; //种cookie,追加
document.write(document.cookie); //列出已经存在的
</script>
</p>
</body>
</html>
查看cookie
在浏览器的地址栏输入如下js代码: javascript:document.write(document.cookie); 回车(注意,不要直接粘贴,直接粘贴会丢失javascript:),得到网站的cookie值。

您可能感兴趣的文章:
nginx 日志分析的实例学习
Nginx日志模块分析详解
Nginx关闭日志的方法
Nginx日志分析 Nginx日志切割与Awstats配置
nginx日志配置、Nginx日志分割
有关nginx日志格式的设计分享
nginx日志统计访问时间的例子
nginx日志配置文件的格式说明
nginx日志报大量400错误的解决方法
nginx关闭favicon.ico日志记录的方法
nginx与apache日志格式的区别
修改nginx访问日志的时间格式的方法
Nginx日志中过滤关键字的写法
nginx 日志分析实例


    
[3]关于nginx的fastcgi_cache的问题
    来源: 互联网  发布时间: 2013-12-24

问题描述:
使用nginx的proxy_cache缓存后端的另一台nginx处理的url,后端为php,没有问题。
当使用nginx的fastcgi_cache缓存本机的php页面时,出现问题,1个缓存页中包含了多个页面。

url类似为:http://1.1.1.1/www/aaa.php?zoneid=111

原因分析:
proxy_cache_key的默认值为:$scheme$proxy_host$request_uri;

fastcgi_cache_key的默认值为:NONE

解决办法:
为fastcgi_cache_key设置值为: localhost:9000$request_uri$request_method;


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3