nginx记录

来源:互联网 发布:uva 知乎 编辑:程序博客网 时间:2024/05/29 14:24
worker_processes  1;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;    upstream web_pools {  //upstream模块    server 10.0.0.9:80 weight=5 max_fails=10 fail_timeout=10s; //根据权重值来分配服务器的访问比例server 10.0.0.10:80 weight=5;#server 10.0.0.10:80 weight=5  backup;    }    server {        listen       80;        server_name  www.etiantian.org;        location / {            root   html;            index  index.html index.htm;            proxy_pass http://web_pools;       //服务器分配策略,proxy_pass是轮回rrproxy_set_header Host  $host;      //因为客户端访问代理服务器,代理服务器是不会把客户端的head字段中的主机名传给服务器的,所以配置了此参数,可以让                                     客户端的head字段中的主机名传给服务器,这样apache可以根据主机名来分给相应的虚拟主机(apache中多主机头的概念))。proxy_set_header X-Forwarded-For $remote_addr;   //如果不配置此项,那么在apache日志中,看到的都是代理服务器发来的ip,配置之后,可以显示不同客户端的                                                   ip地址。proxy_connect_timeout 90;    //表示代理服务器和服务器连接的时间                    proxy_send_timeout 90;       //表示后端服务器回传给服务器的时间proxy_read_timeout 90;       //表示代理服务器从服务器获取信息的时间 proxy_buffer_size 4k;        //表示设置代理服务器缓存大小proxy_buffers 4 32k;         //表示设置代理服务器缓存数量和大小proxy_busy_buffers_size 64k;  //表示在系统很忙时,服务器缓存大小proxy_temp_file_write_size 64k;  //当代理服务器缓存不够用时,可以写进临时文件的大小        }location / {if ($http_user_agent ~* "MSIE")      //可以根据浏览器的类别,来判断访问的服务器路径  {proxy_pass http://dynamic_pools;  }if ($http_user_agent ~* "Firefox")  {proxy_pass http://static_pools;}proxy_pass http://dynamic_pools;include proxy.conf;       }    location /image/ {      //可以根据路径来匹配访问的服务器。比如访问www.baidu.com/image/ ,此时会发送给static_poolsproxy_pass http://static_pools;include proxy.conf;   }       location /dynamic/ {proxy_pass http://dynamic_pools;include proxy.conf;       }    }}————————————————————————————————————————————————————————————————————————————————————————————————————多主机头绑定(就是在一个端口上绑定多个域名,然后每个域名可以指向不同的目录进行访问,主机头是IIS里面的说法),打开httpd.conf文件,在文件最后添加如下内容复制代码#多主机头配置无需放在特定的节点下面,一般直接在配置文件底部添加即可#NameVirtualHost addr[:port] 为一个基于域名的虚拟主机指定一个IP地址(和端口)#声明主机头必须加这条指令,否者主机头配置不会生效#VirtualHost节点下面ServerName就是要绑定的域名,DocumentRoot表示此域名指向的目录#本机测试的话请在hosts中进行域名绑定如 127.0.0.1  www.mysite1.comNameVirtualHost *:8080<VirtualHost *:8080>    ServerName www.mysite1.com    DocumentRoot "D:\Program Files\Apache2.2\htdocs"</VirtualHost><VirtualHost *:8080>    ServerName www.mysite2.com    DocumentRoot "D:\Code\MySite"</VirtualHost>配置好后,重启apache服务,浏览器输入www.mysite1.com:8080,就会自动定向到D:\Program Files\Apache2.2\htdocs站点了输入www.mysite2.com:8080就会自动定向到D:\Code\MySite站点,如此就可以实现在一个服务器上同时运行多个站点——————————————————————————————————————————————————————————————————————————————————————————————————————-apache的访问日志自定义Apache日志,则在http.conf中加入如下字段:LogFormat "%h %l %u %t %T \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" common说明:一般Apache默认的格式为“LogFormat "%h %l %u %t %T \"%r\" %>s %b”,上面字段中“%{Referer}i”代表访问网站时,自己所处的地址,“%{User-Agent}i”代表用户使用什么浏览器访问的网站,以及用户所使用的系统是什么操作系统。后面“common”字段很重要,它代表是自己定义的,如果不加些字段,则添加的自定义日志不起作用。

原创粉丝点击