nginx基础配置

1.nginx作为web代理服务的优化

(1)内核优化,配置senfile

Syntax:  sendfile   on | off
Default:
Context:http、server、location、if in location

(2)配置tcp_nopush,列如,送快递,十个包裹,一次一次的送和十个一起送,提高网络传输的效率,但是这个配置必须要sendfile生效的情况下才可以用;

Syntax:  tcp_nopush  on | off
Default: tcp_nopush off
Context:http、server、location

(3)压缩gzip

Syntax:  gzip  on | off
Default: gzip  off
Context:http、server、location、if in location

gzip_comp_level压缩比

Syntax:  gzip_comp_level   level;
Default:  gzip_comp_level   1;
Context:http、server、location

gzip_http_version压缩http协议版本,现在一般都是1.1

Syntax:  gzip_http_version  1.0  |  1.1 
Default:  gzip_http_version   1.1 ;
Context:http、server、location

(4)压缩拓展:http_gzip_static_module 预读gzip功能

压缩配置如图

2.nginx缓存

浏览器的缓存

(1)http定义的缓存机制(如:expires ;Cache-control等)
(2)浏览器会先请求浏览器的临时目录,没有资源在访问服务端;
(3)当地二此请求时,浏览器端是有缓存的,而这时,他就会去校验是否过期,如果没有,就直接显示,如果过期,再去服务端请求。
(4)校验过期的机制:
第一:Expires(1.0协议版本)和Cache-Control(1.1协议版本)(max-age) ,max-age定义了缓存的周期,如果超期了,就是缓存失效了。
第二:协议中的Etag头信息校验
第三:Last-Modified头信息校验,last-modified后面跟了一个时间,用来和服务器端文件的跟新,如果服务器端文件的更新时间在这个时间之内,则直接返回,去过不在,则跟新。
相当于是什么呢,就是说在缓存过期的情况下(浏览器端还是有缓存的),如果使用last-modified在服务器端验证了此文件并没有更新过(也就是说虽然缓存超期了,但是文件依旧可以用),那么就直接使用浏览器端的缓存。

nginx的缓存过期设置

也就是在响应投中配置 expires 和Cache-control头;
具体配置语法

Syntax:  expires [modified] time;     
				expires epoch |max |off;
Default:  expires off;
Context:http、server、location,if in location
跨域访问

add_header配置语法 主要是配置Access-Control-Allow-Orgin头

Syntax:  add_header  name  value [always]
Default:  ---;
Context:http、server、location,if in location

在这里插入图片描述

3.防盗链

防止资源被盗用
(1) 区别哪些请求时正常的用户的请求;
(2)基于http_refer

4 代理

(1)正向代理和反向代理;
正向代理代理的对象是客户端;
反向代理代理的对象是服务端
(2)配置语法
在这里插入图片描述
在这里插入图片描述

5.nginx的跨域配置

server {
        listen       8080;
        server_name  localhost;
        #允许跨域请求的域,*代表所有
        add_header 'Access-Control-Allow-Origin' *;
        ##允许带上cookie请求
        add_header 'Access-Control-Allow-Credentials' 'true';
        ##允许请求的方法,比如 GET/POST/PUT/DELETE
        add_header 'Access-Control-Allow-Methods' *;
        ##允许请求的header
        add_header 'Access-Control-Allow-Headers' *;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /foodie-shop{
            root   /opt/imooc/dist;
            index  index.html index.htm;
        }
        location /foodie-center{
            root   /opt/imooc/dist;
            index  index.html index.htm;
        }

        location /dxxxgl/back/bjxx/dblsBjxx {
            proxy_pass  http://192.168.2.114:8881/dxxxgl/back/bjxx/dblsBjxx;
        }

}

6 .Nginx 防盗链配置支持

#对源站点验证 
valid_referers *.imooc.com; 
#非法引入会进入下方判断 
if ($invalid_referer) { 
	return 404; 
}
./configure  \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

7.nginx代理转发token

加上这一串

server
{
 
underscores_in_headers on;
 
}

1.nginx和php默认不支持上传过大的文件

假如我们要求上传的文件大小为20M,默认配置就不允许上传了。
下面我们更改nginx和php配置,设定 上传的限制为20M
Nginx配置更改

如果上传文件时超过了nginx限制,就会返回一个“413 Request Entity Too Large”的错误
我们只要更改nginx的配置文件“nginx.conf”即可
在http{}中添加一个client_max_body_size 20m;配置项;
修改完之后重启nginx或reload配置

nginx配置隐藏版本号

server_tokens off;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

synda@hzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值