Nginx优化与防盗链

目录

一、Nginx性能优化 

1、开启网页压缩

2、页面缓存

3、设置连接超时

4、设置工作进程数 

5、设置工作进程连接数 

6、工作进程静态绑核

7、开启高效文件传输模式

8、IO多路复用

9、连接优化

二、Nginx安全优化

1、配置Nginx隐藏版本号

方法一、修改配置文件

方法二、修改源码文件,重新编译安装

2、防盗链

3、访问控制

4、设置运行用户/组

5、限制请求数

6、限制连接数

 7、日志分割

三、系统内核优化

1、用于解决系统存在大量TIME WAIT状态连接的问题

2、如果连接数本身就很多,可再优化TCP的可用端口范围,进一步提升服务器的并发能力

3、如果需要IP路由转发

4、内核资源限制文件

四、Nginx模块


一、Nginx性能优化 

实验前老样子先关防火墙

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0

查看Nginx的版本号 

1、开启网页压缩

  • Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能
  • 允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装
  • 可在配置文件中加入相应的压缩功能参数对压缩性能进行优化
vim /usr/local/nginx/conf/nginx.conf
http {
...... 
    gzip on;						#取消注释,开启gzip压缩功能
    gzip_min_length 1k;      		#最小压缩文件大小,小于设置值的文件将不会压缩
    gzip_buffers 4 16k;      		#压缩缓冲区,这里设置以16k为单位,按照原始数据大小以16k为单 
                                    位的4倍申请内存
    gzip_http_version 1.1;   		#用于识别HTTP协议版本
    gzip_comp_level 5;       		#压缩比率,压缩比例由低到高从1到9,默认为1,在生产环境中一般 
                                    设置该参数的值在3~5之间,最好不要超过5
    gzip_vary on;					#支持前端缓存服务器存储压缩页面
    gzip_disable "MSIE [1-6]\.";	#配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip 
                                   (因为ie低版本不支持)
    gzip_types text/plain text/javascript text/css text/xml application/x-javascript application/xml application/x-httpd-php application/javascript application/json;	
                                    #压缩类型,表示哪些网页文档启用压缩功能
...... 
}

2、页面缓存

  • 当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度
  • 一般针对静态网页设置,对动态网页不设置缓存时间

设置方法

expires 缓存时间

location ~\.(gif|jpg|jepg|png|bmp|ico)$ {
     root html;
     expires 1d;
}

3、设置连接超时

  • keepalive_timeout

  指定KeepAlive的超时时间(timeout)。指定一个长连接最多可以保持多长时间,服务器将会在这

个时间后关闭连接。 Nginx的默认值是65秒,有些浏览器最多只保持 60 秒,所以可以设定为 60

秒。若将它设置为0,就禁止了keepalive 连接

第二个参数(可选的)指定了在响应头Keep-Alive:timeout=time中的time值。这个头能够让一些浏

览器主动关闭连接,这样服务器就不必去关闭连接了。没有这个参数,Nginx 不会发送 Keep-Alive

响应头

  • client_header_timeout

  客户端向服务端发送一个完整的 request header 的超时时间。如果客户端在指定时间内没有发送

一个完整的 request header,Nginx 返回 HTTP 408(Request Timed Out)。

  • client_body_timeout

  指定客户端与服务端建立连接后发送 request body 的超时时间。如果客户端在指定时间内没有发

送任何内容,Nginx 返回 HTTP 408(Request Timed Out)。

4、设置工作进程数 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值