nginx的几个使用问题
2019-06-01 11:58
288 查看
nginx是很好的web服务器,也是反向代理服务器,它功能强大,使用方便,可以实现动静分离,负载均衡,但我们在使用nginx的时候,有几个问题需要注意:
1、如果想使用error_log的debug级别,例如:error_log /var/log/error.log debug,需要在安装nginx的时候,就指定参数./configure --with-debug
2、如果要使用proxy_cache,需要集成第三方的ngx_cache_purge模块,需要在安装nginx的时候,指定参数./configure --add-module=…/ngx_cache_purge-1.0
使用实例:
http{ proxy_temp_path /cache/proxy_temp_path; proxy_cache_path /cache/proxy_cache_path levels=1:2 keys_zone=mycache:10m inactive=1d max_size=100m; server{ proxy_cache mycache; #设置缓存名称 #对不同的http请求状态设置不同的缓存策略 proxy_cache_valid 200 304 12h; proxy_cache_valid 301 302 5m; proxy_caceh_valid any 2m; #设置缓存的key值 proxy_cache_key $host$uri$is_args$args; } } **proxy_temp_path和proxy_cache_path路径必须在同一个分区**,以上设置的缓存名称为mycache,缓存初始大小10m,自动清除1天未使用的数据,最大缓存100m。
3、为了提高nginx的处理能力,可以使用geo模块实现负载全局均衡,即在多个server上安装nginx,然后在其中一个主server上配置geo模块,实现按照客户端ip进行分发,访问不同的server,geo模块还可以做限速白名单
4、nginx的优化,应该是根据业务需要,我们业务需要哪个模块就安装哪个模块,不要安装多余的模块,这个在安装nginx的时候就要确定下来。
- worker_processes的数量尽量配置成cpu的总核数或者2倍;
- worker_rlimit_nofile配置成和系统文件打开数一致就可以;系统的文件打开数可以使用ulimit -n命令查看。
- worker_connections默认是1024,可以适当设置大一些,但这个值和物理内存大小有关,理论上并发总数是worker_processes和worker_connections的乘积,一般情况下,1G内存可以打开的文件数是10万左右,可以参考这个值进行设置。
- 尽量开启gzip压缩,gzip_comp_level通常设置3-5。
- 适当提高error_log的级别,access_log可以考虑关闭,减少磁盘I/O。
- worker_priority进程优先级设置,取值范围-20到19,-20级别最高,可以设置小一点,但最好高于-5。
- 合理设置静态资源的缓存时间,尽量使用浏览器缓存。
- 如果使用ssl,且服务器有ssl硬件加速设备,一定要开启硬件加速。
- buffer size尽量设置的大一些。
相关文章推荐
- 宜立方商城中中的几个问题:1.图片上传使用了fastDFS为什么还需要nginx 2.经常变化的变量可以将经常需要修改的代码放到配置文件中,这样少修改源代码
- 学习Win CE(使用EVC4开发)碰到的几个典型问题
- 小结了一下Parser Generator 2使用中的几个问题
- Ubuntu下使用mplayer遇到的几个问题
- GEF,EMF,RCP,Eclipse's plugin的几个问题(6) 推荐使用新版本的VE(Visual Editor)
- 使用Hibernate要从以下几个方面入手解决性能问题.
- 转:asp.net在使用fckeditor 2.6版的几个问题的解决
- 使用JS制作弹出框的几个小问题
- 框架使用过程中遇到的几个问题
- 使用模板缓冲区时需要注意的几个问题
- 关于使用标签需要注意的几个问题
- 使用存储过程中的虚拟表解决同时从几个数据库服务器中读取记录的问题
- nginx升级到 0.8.53 之后,使用老的配置出现duplicate MIME type "text/html"问题的解决办法
- boost::iostream::file使用时,会碰到的几个问题
- 关于索引使用的几个小问题
- 使用LIBSVM需要注意的几个问题
- WebClient类的使用中遇到的几个问题
- 使用prototype.js 的时候应该特别注意的几个问题
- (转帖)使用多线程编程的几个常见问题- -
- 使用Visual Basic访问数据库几个注意的问题