当前位置: 首页 > 后端技术 > PHP

Nginx实用配置

时间:2023-03-29 23:36:00 PHP

1防盗链相关配置:valid_refererslocation~*\.(gif|jpg|png)${#只允许192.168.0.1请求资源valid_referersnoneblocked192.168.0.1;if($invalid_referer){重写^/http://$host/logo.png;}}2根据文件类型位置设置过期时间~.*\.css${expires1d;break;}location~.*\.js${expires1d;break;}location~*\.(js|css|jpg|jpeg|gif|png)${过期1h;break;}3禁止访问目录位置~*\.(txt|doc)${root/opt/htdocs/site/test;denyall;}4静态资源访问http{#这里会为打开的文件指定缓存,默认不开启,max指定缓存的个数,#建议和打开文件的个数保持一致,inactive指的是过了多久没有请求文件后删除缓存。open_file_cachemax=204800inactive=20s;#open_file_cache命令中inactive参数时间内文件被使用的最小次数,#如果超过这个次数,文件描述符总是在缓存中打开,如上例,如果#文件在inactive如果一次没有使用,就会被移除。open_file_cache_min_uses1;#这里指的是多久检查一次缓存的有效信息open_file_cache_valid30s;#默认情况下,Nginx的gzip压缩是关闭的,gzip压缩功能可以为你节省很多#减少带宽,但是会增加服务器CPU哦,Nginx默认只压缩text/html,传输html以外的内容,我们需要手动设置。gzip上;gzip_min_length1k;gzip_buffers416k;gzip_http_version1.0;gzip_comp_level2;gzip_types文本/纯应??用程序/x-javascript文本/css应用程序/xml;服务器{听80;服务器名称www.test.com;字符集utf-8;根/data/www.test.com;indexindex.htmlindex.htm;}}5日志配置5.1日志字段描述字段描述remote_addr和http_x_forwarded_for客户端IP地址remote_user客户端用户名请求URI和HTTP协议状态请求状态body_bytes_sent返回给客户端的字节数,不包括响应头的大小bytes_sent总数返回给客户端的字节数连接序列号connection_requests当前同一TCP连接的请求数msec日志写入时间。单位是秒,精度是毫秒pipe如果请求是通过HTTP管道(pipelined)发送的,则pipe值为“p”,否则为“.”http_referer记录了访问哪个页面链接。http_user_agent记录客户端浏览器相关信息request_length请求长度(包括请求行、请求头和请求文本)time_iso8601ISO8601标准格式本地时间time_local记录访问时间和时区5.1access_log访问日志http{log_formataccess'$remote_addr-$remote_user[$time_local]$host"$request"''$status$body_bytes_sent"$http_referer"''"$http_user_agent""$http_x_forwarded_for""$clientip"';access_log/srv/log/nginx/talk-fun.access.logaccess;}5.2error_loglogerror_log/srv/log/nginx/nginx_error.logerror;#error_log/dev/null;#真正关闭错误日志http{#...}6反向代理http{includemime.types;服务器令牌关闭;##配置反向代理参数server{listen8080;##1.当用户访问http://ip:port时,反向代理会去https://github.comlocation/{proxy_passhttps://github.com;proxy_redirect关闭;proxy_set_header主机$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}##2.用户访问http://ip:port/README.md,则反向代理到##https://github.com/zibinli/blog/blob/master/README.mdlocation/README.md{proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_passhttps://github.com/zibinli/blog/blob/master/README.md;}}}7负载均衡http{upstreamtest.net{ip_hash;服务器192.168.10.13:80;服务器192.168.10.14:80宕机;服务器192.168.10.15:8009max_fails=3fail_timeout=20s;服务器192.168.10.16:8080;}server{location/{proxy_passhttp://test.net;}}}