Nginx优化总结

Nginx web优化

1安全优化

一般来说,网站的漏洞都和版本有关系,我们本身应该去影藏web的版本和信息,做到一个安全的优化

要想隐身先了解版本号

这是我访问的一个错误页面,发现nginx 的网站  版本信息1.6.2

这样网站就会暴露在公网上,怎么去隐藏?

编辑nginx.conf

添加

server_tokens off;

这样咱们的Nginx 版本号隐藏了,那么web信息怎么隐藏

更改nginx 源码

[[email protected] ~]# sed -n ‘13,17p‘ /usr/src/nginx-1.6.2/src/core/nginx.h

#define NGINX_VERSION      "1.6.2"

#define NGINX_VER          "nginx/" NGINX_VERSION

#define NGINX_VAR          "NGINX"

[[email protected] ~]# sed -i ‘#Server: nginx#Server: OWS#g‘  /usr/src/nginx-1.6.2/src/http/ngx_http_header_filter_module.c

[[email protected] ~]# sed -n ‘21,30p‘ /usr/src/nginx-1.6.2/src/http/ngx_http_special_response.c

static u_char ngx_http_error_full_tail[] =

"<hr><center>" NGINX_VER "</center>" CRLF

"</body>" CRLF

"</html>" CRLF

;

 

 

static u_char ngx_http_error_tail[] =

"<hr><center>nginx</center>" CRLF

"</body>" CRLF

 

修改后需要重新编译

 

 

 

修改nginx默认用户

#user  nobody;

 

  

 

2优化nginx服务性能

 

优化nginx worker进程参数

Nginx worker进程参数有什么作用?

比如一个饭店,只有一个厨师,那么很忙,于是招来了3哥厨师,但是新来的3个厨师没分配,那么还是1个厨师干活,那就得给3哥厨师安排活,分担

 

Cpu也是一样给每个cpu安排不同的工作,这就是worker进程参数的优化

 

 

 

首先看看我的nginx web的cpu配置

[[email protected] ~]# cat /proc/cpuinfo| grep processor |   wc -l

1

表示我是1核的cpu

那么我在这里吧work参数改成合数的2倍

修改nginx.conf

[[email protected] ~]# ps -ef | grep nginx

root     40359     1  0 20:30 ?        00:00:00 nginx: master process /application/nginx/sbin/nginx

nginx    40360 40359  0 20:30 ?        00:00:00 nginx: worker process        

nginx    40361 40359  0 20:30 ?        00:00:00 nginx: worker process        

root     40363  1693  0 20:30 pts/0    00:00:00 grep nginx

 

 

会看到cpu 有两个worker进程在运行

 

Nginx 事件处理模型的优化

Nginx 的连接机制在不同的系统会采用不同的I/O处理模型,在linux 采用epoll的 IO多用复用模型

修改如下

events {

use epoll;

worker_connections  1024;

}

调整nginx 单个进程最大连接数

这个连接是指nginx 单个进程最大连接用户的数量,可以根据你的cpu 参数调整

events {

use epoll;

worker_connections  1024;

}

调整worker进程最大打开文件数

worker_rlimit_nofile  65535;  优化worker进程打开文件的数量

Nginx 开启高效文件传输模式

Sendfile参数用来开启nginx 网络高效文件传输模式,可以防止 磁盘IO阻塞和网络阻塞的问题,提高nginx 的效率

开启nginx 压缩功能

Nginx 压缩优点:

1可以提高用户和访问速度,因为压缩的文件比没有压缩的文件整体小,所以访问要快

2 节约网络带宽

3 可以设置不同的压缩对象,比如小于1k的就不需要压缩,还有视频之类的文件也不需要

压缩

参数

gzip  on; 开启gzip压缩功能

开启expire缓存功能

整体来说这个模块就是将用户访问网站的一些信息记录下来,下次来了访问直接按记录访问,提高访问效率,可以给这个内容设置过期时间,定期会自动清理缓存内容

expires 缓存优点

降低网站访问带宽提高成本

加快用户访问速度。

服务器访问量降低,服务器压力也就降低了

expires 配置:

server {

listen       80;

server_name  www.xiaohu.com;

location / {

root   html;

index  index.html index.htm;

}

location ~ .*\.(gif|jpg|png)$

{

expires 3650d;

}

代表将访问网站的gif jpg png 结尾的图片缓存,时间为3650天

缓存可以对单个文件进行缓存,也可以对整体文件进行缓存

Nginx 日志优化

1.切割日志  后续会写

2.不记录不需要的访问日志   如果每个访问日志都记录的话对IO也是一种压力,向对图片之类的日志就不需要记录了。

配置

location ~ .*\.(gif|jpg|png)$ {

access_log off;

expires 3650d;

}

3.访问日志权限的问题

假如日志目录为/app/logs

授权方法

chown -R root.root /app/logs

chmod 700 /app/logs

Nginx  站点访问目录和文件URL 访问控制

在web服务上,有些站点的目录对用户的上传文件是有限制的,比如上传文件的大小,上传的格式,对哪些类型的文件拒绝,允许哪些文件上传,这就是访问控制。

参数

禁止访问目录下的py php sh的程序

location ~ ^/images/.*\.(php|py|sh)$ {

deny all;

}

禁止访问.txt.doc 的文件

location ~* \.(txt|doc)$ {

root /var/www;

deny all;

}

静止访问指定目录下的所有文件

location ~ ^/(static)/ {

deny all;

}

禁止ip进行访问网站

location \ {

deny 10.0.0.0/24;

deny  192.168.1.105;

allow all;

}

测试用105访问

时间: 2024-10-05 05:20:37

Nginx优化总结的相关文章

nginx优化(突破十万并发)

此文章非原创,出自鸟哥之手~ http://blog.chinaunix.net/uid-25266990-id-2985541.html 仅仅改了排版 --> 为了好看 ------------------------------------------------------------------------------ 分隔线 nginx优化(配置文件+内核优化) 一.nginx配置文件 1.worker_processes  8; 按照cpu数目来指定,一般为它的倍数 2.worker

Linux之nginx优化与防盗链

Linux之nginx优化与防盗链 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X",是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发. Nginx以事件驱动(epoll)的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理.负载平衡.但是Nginx并不支持cgi方式运行,原因是可以减少因

Nginx优化(十七)

[教程主题]:Nginx优化 [课程录制]: 创E [主要内容] Nginx 优化 nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发. Nginx以事件驱动(epoll)的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理.负载平衡.

2.Nginx优化

[教程主题]:Nginx优化 [课程录制]: 创E [主要内容] Nginx 优化 nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X",是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发. Nginx以事件驱动(epoll)的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理.

web优化之nginx优化&lt;六&gt;

这里我们接着web之nginx优化<->继续分析nginx优化之资源防盗链,方爬虫,控制目录权限.CDN加速重要性及方法. 12.资源防盗链 例如:资源在优酷视频,但显示在我自己的博客上,会增加优酷的带宽,但是访问量在我的博客:会节省我的资源. 1)根据http referer 实现防盗链 通过referer可以检测目标访问的来源网页,如果是资源文件,可以跟踪到显示它的网页地址. 2)其他的防盗链方案: ·cookie防盗链: ·加密URL路径,定时失效: ·lighttpd有类似的插件mod

web优化之nginx优化&lt;七&gt;

2.更改nginx的默认用户 这里我们接着web之nginx优化<->继续分析使用普通用户的重要性. 在高标准环境下尽量不使用root,尽量使用普通用户,这样外部人员提权也提不到root用户.搭建服务的时候就用普通用户搭建,生产环境下最好不要随便用root用户. 1)让nginx服务使用普通用户 ·root用户跑master进程的隐患: a.管理权限必须是root,这就使得最小化分配权限原则遇到难题 b.使用root跑nginx服务,一旦网站出问题,用户很容易获得服务的root权限 ·ngin

高并发下的 Nginx 优化与负载均衡

高并发下的 Nginx 优化 英文原文:Optimizing Nginx for High Traffic Loads 过去谈过一些关于Nginx的常见问题; 其中有一些是关于如何优化Nginx. 很多Nginx新用户是从Apache迁移过来的,因些他们过去常常调整配置和执行魔术操作来确保服务器高效运行. 有一些坏消息要告诉你, 你不能像Apache一样优化Nginx.它没有魔术配置来减半负载或是让PHP运行速度加快一倍. 高兴的是, Nginx已经优化的非常好了. 当你决定使用Nginx并用a

CentOS6.5 Nginx优化编译配置

说到Nginx,它真的算是我在运维工作中的好朋友,它优异的性能和极高的工作效率实在是让人大爱,来自internet的报告称其epoll模型能够支持高达50000个并发连接数. Epoll[维基百科]: epoll是Linux下 多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符 集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历

安装部署LNMP/大并发nginx优化/php性能加速 实战

安装部署LNMP及Nginx优化.PHP加速进行压力测试 部署LNMP环境: 主机 IP 主机名 Centos7.2 192.168.5.128 www.benet.com 部署步骤如下: 使用yum仓库安装Nginx依赖包 yum -y install  gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel 创建Nginx用户 组解压Nginx软件包 编译安装Nginx ./configur

高并发下的Nginx优化

高并发下的Nginx优化 2014-08-08 13:30 mood Nginx 过去谈过一些关于Nginx的常见问题; 其中有一些是关于如何优化Nginx. 很多Nginx新用户是从Apache迁移过来的,因些他们过去常常调整配置和执行魔术操作来确保服务器高效运行. AD:2014WOT全球软件技术峰会北京站 课程视频发布 11月21日-22日 与WOT技术大会相约深圳 现在抢票 过去谈过一些关于Nginx的常见问题; 其中有一些是关于如何优化Nginx. 很多Nginx新用户是从Apache