您现在的位置是:首页 > 文章详情
Nginx性能优化
日期:2018-08-12点击:500收藏
1、调整worker进程数
worker_processes 4; # 设为服务器核心数
# 一个进程绑定一个核心
# worker_cpu_affinity 0001 0010 0100 1000;
# 查看单个CPU核心数
# grep -c processor /proc/cpuinfo
# 4
# 查看CPU总颗数
# grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l
# 2
2、采用epoll模型
events {
use epoll;
...
3、调整nginx单个进程运行的最大连接数
worker_rlimit_nofile 65535; # 最大打开文件数
events {
worker_connections 4096; # 最大并发量=worker_connections*worker_processor
...
4、开启高效文件传输模式
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
...
5、调整连接超时时间
http {
keepalive_timeout 60; # 客户端连接保持会话超过60秒,服务器关闭该连接
client_header_timeout 15; # 读取客户端请求头数据超过15秒,服务器返回408错误
client_body_timeout 15; # 读取客户端请求主体数据超过15秒,服务器返回408错误
send_timeout 25; # 客户端和服务器建立连接超过25秒不发送任何数据,服务器关闭该连接
...
6、上传文件大小限制(动态应用)
http {
client_max_body_size 8m;
...
7、FastCGI连接参数调优
http {
fastcgi_connect_timeout 240;
fastcgi_send_timeout 240;
fastcgi_read_timeout 240;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
# fastcgi_cache_path /data/ngx_fcgi_tmp;
fastcgi_cache_path /data/ngx_fcgi_cache levels=2:2;
keys_zone=ngx_fcgi_cache:512m inactive=1d max_size=40g;
...
localtion ~.*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_cache ngx_fcgi_cache;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_users 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_cache_key http://$host$reques uri;
...
8、exprires缓存优化
# expires模块控制nginx服务器应答时的Expires头内容和Cache-Control头的max-age指令,设置缓存有效期
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 12h;
}
9、日志优化
# 不记录不需要的访问日志
location ~.*\.(js|jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF)$ {
access_log off;
}
# 降低日志目录权限
chmod -R 600 /usr/loacl/nginx/logs
10、gzip压缩优化
http {
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
gzip_vary on;
...
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
根据个人亲身进阶架构师经历系统构建20大进阶架构师专题!
本人经过自己的亲身进阶经历,打造的以下20大进阶架构专题!(纯个人!非培训机构网络学院的推广!),头条和简书的友链排版太差! 【极简入门专题】【dubbo实战专题】【设计模式专题】【dubbo源码专题】 【数据结构专题】【 netty 源码专题】【网络协议专题】【spring源码专题】 【并发编程专题】【springboot专题】【架构技术专题】【zookeeper专题】 【BATj面试专题】【redis 实战专题】【mq中间件专题】【mysql优化专题】 【grpc+etcd专题】【 线程相关专题】【JVM调优专题】【springcloud专题】 微信上搜索【java进阶架构师】即可获取所有专题文章!!! 或者直接拿出手机【扫一扫】下图! 更多专题扫码查看!
-
下一篇
Nginx安全优化
1、隐藏nginx版本号 http{ ... server_tokens off; ... } 2、禁止访问指定目录下的程序和文件 location ~ ^/images/.*\.(php|php5|.sh|.pl|.py)$ { deny all; } location ~ ^/(static|js) { deny all; } location /admin/ { return 404; } 3、
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
扫描即可查看该文章
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- MySQL表碎片整理
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Red5直播服务器,属于Java语言的直播服务器
- MySQL数据库在高并发下的优化方案
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装

微信收款码
支付宝收款码