30、LNAP(php和nginx相关优化)
30.1、php-fpm.conf参数优化:
[global]
pid = run/php-fpm.pid
#php后台运行pid路径
error_log = log/php-fpm.log
#php的错误日志路径
rlimit_files = 65535
#php打开文件的描述符大小
[www]
user = nginx
#php所使用的虚拟用户
group = nginx
#php所使用的虚拟用户组
listen = 127.0.0.1:9000
#php所监听的ip及端口号
pm = dynamic
#开启php进程池的动态设置,静态用static
pm.max_children = 70
#在动态方式下限定php-fpm的最大进程数。静态方式下指开启的php-fpm进程数量。
#每个进程数占用20M到30M的内存,以4G的内存为例:4*1024/2/30
pm.start_servers = 40
#动态方式下的起始php-fpm进程数量。
#min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.min_spare_servers = 30
#动态方式空闲状态下的最小php-fpm进程数量。
pm.max_spare_servers = 50
#动态方式下空闲状态的最大php-fpm进程数量。
pm.max_requests = 5000
#php-fpm工作进程处理完多少请求后自动重启,主要目的就是为了控制请求处理过
#程中的内存溢出,使得内存占用在一个可接受的范围内,默认是0,表示无休止的
#接受请求。不易设置过大,根据需求进行设置。
request_terminate_timeout = 10
#php脚本最大执行的时间,默认值为 0 秒,也就是说 PHP 脚本会一直执行下去,
#这样,当所有的 php-cgi 进程都卡在 file_get_contents() 函数时,这台
#Nginx+PHP 的WebServer已经无法再处理新的 PHP 请求了。该参数设置为10s或者
#一个合理的值,该参数设置过大或过小都不可。
rlimit_files = 65535
#php打开文件的描述符大小
报错说明:
1、
pm.max_requests
request_terminate_timeout
#以上两个参数如果设置不当会导致nginx error.log 报如下错误,同时网页会短暂出现“502 Bad Gateway”错误。
#[error] 21556#0: *4004 recv() failed (104: Connection reset by peer) while reading response header from upstream,
2、
slowlog = log/$pool.log.slow
#慢请求的记录日志文件路径
request_slowlog_timeout = 10
#当一个请求该设置的超时时间后,就会将对应的PHP调用堆栈信息完整写入到慢日志中。设置为 '0' 表示 'Off'。
#当上面两个参数开启后可能会报ERROR: failed to ptrace(PEEKDATA) pid 27077: Input/output error (5)
30.2、nginx.conf参数优化:
#网页报错:error Connection timed out and 504 error
#nginx报错:[error] 11130#0: *52557 upstream timed out (110: Connection timed out) while reading response header from upstream,
#在server标签内增加以下内容
large_client_header_buffers 4 16k;
#用于读取大型客户端请求头的缓冲区的最大数量和大小。
client_max_body_size 30m;
#客户端请求服务器最大允许大小,包括上传和下载。
#如果请求的正文数据大于client_max_body_size,HTTP协议会报错 413 Request Entity Too Large。
client_body_buffer_size 30m;
#设置请求主体的缓冲区大小。 如果主体超过缓冲区大小,则完整主体或其一部分将写入临时文件,默认路径是/tmp/。
#如果追求效率,就设置和client_max_body_size相同的值,这样就不会存储临时文件,直接存储在内存了。
fastcgi_connect_timeout 300;
#连接到后端fastcgi超时时间
fastcgi_read_timeout 300;
#接收fastcgi应答超时时间(这个指定值已经完成两次握手后向fastcgi传送请求的超时时间)。
fastcgi_send_timeout 300;
#向fastcgi请求超时时间,同理也是2次握手后。
fastcgi_buffer_size 64k;
#读取fastcgi应答第一部分需要多大缓冲区,该值表示使用1个64kb的缓冲区读取应答第一部分(应答头),可以设置为fastcgi_buffers选项缓冲区大小。
fastcgi_buffers 4 64k;
#指定本地需要多少和多大的缓冲区来缓冲fastcgi应答请求,假设一个php或java脚本所产生页面大小为256kb,那么会为其分配4个64kb的缓冲来缓存。
fastcgi_busy_buffers_size 128k;
#默认值是fastcgi_buffers的2倍
fastcgi_temp_file_write_size 128k;
#写入缓存文件使用多大的数据块,默认值是fastcgi_buffers的2倍
30、LNAP(php和nginx相关优化)的更多相关文章
- nginx相关优化
1.配置监控nginx状态信息 vim /usr/locale/nginx/conf/nginx.conf server { listen ; server_name 192.168.1.30; lo ...
- [Nginx] – 性能优化 – 配置文件优化
Nginx基本安全优化 1.调整参数隐藏Nginx版本号信息 一般来说,软件的漏洞都和版本有关,因此我们应尽量隐藏或清除Web服务队访问的用户显示各类敏感信息(例如:Web软件名称及版本号等信 ...
- Nginx软件优化【转】
转自 Nginx软件优化 - 惨绿少年 - 博客园 Nginx软件优化 - 惨绿少年 - 博客园 https://www.cnblogs.com/clsn/p/8484559.html 1.1 Ngi ...
- Nginx软件优化
1.1 Nginx优化分类 安全优化(提升网站安全性配置) 性能优化(提升用户访问网站效率) 1.2 Nginx安全优化 1.2.1 隐藏nginx版本信息优化 官方配置参数说明:http://ngi ...
- 突破10万高并发的nginx性能优化经验(含内核参数优化)
写的很好,推荐阅读. 转载:http://www.cnblogs.com/kevingrace/p/6094007.html 在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并 ...
- [Nginx] – 安全优化 – 配置文件优化
1.配置Nginx gzip压缩实现性能优化 1.Nginx gzip压缩功能介绍 Nginx gzip压缩模块提供了压缩文件内容的功能,用户请求的内容在发送出用客户端之前,Nginx服务器会根据一 ...
- [NGINX] - 配置文件优化 - NGINX.CONF
Nginx 本文主要针对公司的Nginx负载均衡配置进行解释,配置文件在最下方.因为公司没有使用PHP,所以NGINX里面并没有太多facgi模块相关优化 NGINX.CONF user 语 ...
- The server of Nginx(三)——Nginx企业级优化
相信看过我之前apache文章的朋友们,对服务优化也有了一个大概的了解,相比较而言,Nginx企业中应用的更多一些,因此今天也会详细阐述Nginx的优化,有人说,服务器不需要优化,开虚拟化,分分钟成倍 ...
- 轻量级HTTP服务器Nginx(Nginx性能优化技巧)
轻量级HTTP服务器Nginx(Nginx性能优化技巧) 文章来源于南非蚂蚁 一.编译安装过程优化 1.减小Nginx编译后的文件大小在编译Nginx时,默认以debug模式进行,而在debu ...
随机推荐
- [Linux] 完全卸载mysql
参考 https://www.jianshu.com/p/ef58fb333cd6
- linux安装命令行 图形查看 CPU温度 传感器-20191218
方法1:命令行sensors # sensorsi350bb-pci-0700Adapter: PCI adapterloc1: +46.0°C (high = +120.0°C, crit = +1 ...
- Windows 10 创建虚拟网卡
想把虚拟机桥接到我的电脑,但我连的是无线网电脑没查网线,所以就创建个虚拟网卡吧. 1.win + x 打开设备管理器 2.网络适配器 + 操作 + 添加过时硬件 3.下一步 4.选-->安 ...
- IT菜鸟之路由器基础配置(静态、动态、默认路由)
路由器:连接不同网段的设备 企业级路由和家用级路由的区别: 待机数量不同(待机量) 待机量:同时接通的终端设备的数量 待机量的值越高,路由的性能越好 别墅级路由,表示信号好,和性能无关 交换机:背板带 ...
- mysql8 安装配置教程
第一步 下载安装包 MySQL 是甲骨文(Oracle)公司产品,可以到官网上下载 MySQL: 官网下载地址:https://dev.mysql.com/downloads/mysql/ 如果嫌弃官 ...
- STM32——EEPROM使用——(转载)
一.I2C接口读写EEPROM(AT24C02) --主模式,分别用作主发送器和主接收器.通过查询事件的方式来确保正常通信. 1.I 2C接口初始化 与其他对GPIO 复用的外设一样,它先调用了用户函 ...
- 【转】Jquery 使用Ajax获取后台返回的Json数据后,页面处理
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 有关RootViewController设置的问题和Unbalanced calls to begin/end appearance transitions for <CYLTabbarController>
问题 今天做项目时遇到了一个问题,我想做一个登陆页面,在用户输入了登录名和密码后跳转到app主界面,最开始用的是在方法中新建一个appdelegate对象,再将其中的window属性设置Tabbar为 ...
- Pandas之:Pandas简洁教程
Pandas之:Pandas简洁教程 目录 简介 对象创建 查看数据 选择数据 loc和iloc 布尔索引 处理缺失数据 合并 分组 简介 pandas是建立在Python编程语言之上的一种快速,强大 ...
- kafka之二:手把手教你安装kafka2.8.0(绝对实用)
前面分享了kafka的基本知识,下面就要对kafka进行实操,先看如何安装. kafka需要zookepper的支持,所以要安装kafka需要有zookeeper的环境,zookeeper安装请参见& ...