当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪nginx缓存静态文件的配置方法      一般网站上线后,有些文件几乎都不常更新了,比如css,js,图片等。 减少HTTP请求是优化网站的最佳方案之一,可以利用nginx缓存服务器的静态文件。 在Nginx中可以使用nginx proxy_cache将用户的请.........
    ▪多台Web及后台自动跳到固定的机器上的方法      多台Web同时提供服务,后台如何固定在一台机器上? 这种情况是web的前端和后台在一台服务器上,无法分离或不好分离,应用范围为已开发好的固定模板,如Discuz!等。 Nginx前端代理实现,.........
    ▪nginx与apache日志格式的区别      nginx与apache日志格式的区别,感兴趣的朋友可以参考下。 nginx的日志格式:   代码如下: log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '               '$status $body_bytes_sent "$.........

[1]nginx缓存静态文件的配置方法
    来源: 互联网  发布时间: 2013-12-24

一般网站上线后,有些文件几乎都不常更新了,比如css,js,图片等。
减少HTTP请求是优化网站的最佳方案之一,可以利用nginx缓存服务器的静态文件。
在Nginx中可以使用nginx proxy_cache将用户的请求缓存到本地一个目录,当下一个请求时可以直接调取缓存文件,就不用去请求服务器了。

具体操作
打开nginx.conf配置文件
在http层级加入以下代码
 

代码如下:
proxy_connect_timeout 10;
proxy_read_timeout 180;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_temp_path /tmp/temp_dir;
proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;
 

 
在server层级加入以下代码
#要缓存文件的后缀,可以在以下设置。
 

代码如下:
location ~ .*\.(gif|jpg|png|css|js)(.*) {
     proxy_pass http://appserver ;
     proxy_redirect off;
     proxy_set_header Host $host;
     proxy_cache cache_one;
     proxy_cache_valid 200 302 24h;
     proxy_cache_valid 301 30d;
     proxy_cache_valid any 5m;
     expires 90d;
}
 

 
说明:
1、http设置。
设置临时目录
proxy_temp_path /tmp/temp_dir;
设置缓存目录为二级目录,共享内存区大小,非活动时间,最大容量,临时目录要跟缓存目录在同一个分区。
proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;
 
2、server设置
 

代码如下:
设置缓存共享内存
proxy_cache cache_one;
设置http状态码为200,302缓存时间,24h为24小时
proxy_cache_valid 200 302 24h;
设置失期时间,90d为90天
expires 90d;
不进行缓存直接转到后端服务器
proxy_pass http://127.0.0.1:9000;

    
[2]多台Web及后台自动跳到固定的机器上的方法
    来源: 互联网  发布时间: 2013-12-24

多台Web同时提供服务,后台如何固定在一台机器上?
这种情况是web的前端和后台在一台服务器上,无法分离或不好分离,应用范围为已开发好的固定模板,如Discuz!等。

Nginx前端代理实现,在配置文件中:
 

代码如下:

upstream bbs_hk {
             server   192.168.2.10:80;
      }
upstream bbs {
             ip_hash;
             server   192.168.2.10:80;
             server   192.168.2.20:80;
 }
server {
        listen 80;
        server_name bbs.;
        access_log /var/log/nginx/bbs.web.access.log;
        error_log /var/log/nginx/bbs.web.error.log;

 location ~ ^/admin.php(.?)+  {
                proxy_pass http://bbs_hk;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location / {
                proxy_pass http://bbs;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

当访问后台 http://bbs./admin.php是自动转到192.168.2.10这台服务器上。
测试:可以停掉192.168.2.10这台服务器的web服务检查下。


    
[3]nginx与apache日志格式的区别
    来源: 互联网  发布时间: 2013-12-24

nginx与apache日志格式的区别,感兴趣的朋友可以参考下。
nginx的日志格式:
 

代码如下:
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 
             '$status $body_bytes_sent "$http_referer" ' 
             '"$http_user_agent" $request_time'; 

日志格式说明:
$remote_addr 远程请求使用的IP地址
$remote_user 远端登录名
$time_local 时间,用普通日志时间格式(标准英语格式)
$request 请求的第一行
$status 状态。
$body_bytes_sent 请求返回的字节数,包括请求头的数据
$http_referer 请求头Referer的内容
$http_user_agent 请求头User-Agent的内容
$request_time 处理完请求所花时间,以秒为单位

apache的日志格式:
 

代码如下:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T " combined  
    CustomLog log/access_log combined 

日志格式说明:
%h 请求使用的IP地址
%l 远端登录名(由identd而来,如果支持的话),除非IdentityCheck设为"On",否则将得到一个"-"。
%u 远程用户名(根据验证信息而来;如果返回status(%s)为401,可能是假的)
%t 时间,用普通日志时间格式(标准英语格式)
%r 请求的第一行
%s 状态。对于内部重定向的请求,这个状态指的是原始请求的状态,---%>s则指的是最后请求的状态。
%b 以CLF格式显示的除HTTP头以外传送的字节数,也就是当没有字节传送时显示'-'而不是0。
\"%{Referer}i\" 发送到服务器的请求头Referer的内容。
\"%{User-Agent}i\" 发送到服务器的请求头User-Agent的内容。
%T 处理完请求所花时间,以秒为单位。
%I 接收的字节数,包括请求头的数据,并且不能为零。要使用这个指令你必须启用mod_logio模块。
%O 发送的字节数,包括请求头的数据,并且不能为零。要使用这个指令你必须启用mod_logio模块。

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


    
最新技术文章:
▪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