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相关优化)的更多相关文章

  1. nginx相关优化

    1.配置监控nginx状态信息 vim /usr/locale/nginx/conf/nginx.conf server { listen ; server_name 192.168.1.30; lo ...

  2. [Nginx] – 性能优化 – 配置文件优化

    Nginx基本安全优化 1.调整参数隐藏Nginx版本号信息     一般来说,软件的漏洞都和版本有关,因此我们应尽量隐藏或清除Web服务队访问的用户显示各类敏感信息(例如:Web软件名称及版本号等信 ...

  3. Nginx软件优化【转】

    转自 Nginx软件优化 - 惨绿少年 - 博客园 Nginx软件优化 - 惨绿少年 - 博客园 https://www.cnblogs.com/clsn/p/8484559.html 1.1 Ngi ...

  4. Nginx软件优化

    1.1 Nginx优化分类 安全优化(提升网站安全性配置) 性能优化(提升用户访问网站效率) 1.2 Nginx安全优化 1.2.1 隐藏nginx版本信息优化 官方配置参数说明:http://ngi ...

  5. 突破10万高并发的nginx性能优化经验(含内核参数优化)

    写的很好,推荐阅读. 转载:http://www.cnblogs.com/kevingrace/p/6094007.html 在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并 ...

  6. [Nginx] – 安全优化 – 配置文件优化

    1.配置Nginx gzip压缩实现性能优化 1.Nginx gzip压缩功能介绍  Nginx gzip压缩模块提供了压缩文件内容的功能,用户请求的内容在发送出用客户端之前,Nginx服务器会根据一 ...

  7. [NGINX] - 配置文件优化 - NGINX.CONF

    Nginx 本文主要针对公司的Nginx负载均衡配置进行解释,配置文件在最下方.因为公司没有使用PHP,所以NGINX里面并没有太多facgi模块相关优化    NGINX.CONF user   语 ...

  8. The server of Nginx(三)——Nginx企业级优化

    相信看过我之前apache文章的朋友们,对服务优化也有了一个大概的了解,相比较而言,Nginx企业中应用的更多一些,因此今天也会详细阐述Nginx的优化,有人说,服务器不需要优化,开虚拟化,分分钟成倍 ...

  9. 轻量级HTTP服务器Nginx(Nginx性能优化技巧)

    轻量级HTTP服务器Nginx(Nginx性能优化技巧)   文章来源于南非蚂蚁   一.编译安装过程优化 1.减小Nginx编译后的文件大小在编译Nginx时,默认以debug模式进行,而在debu ...

随机推荐

  1. 利用IOzone进行存储性能测试

    利用IOzone进行存储性能测试   命令:1.iozone -s 10G -r 4k -i 0(0代表顺序写) -w(代表文件不删除) -+n(不测重读重写) -Rb(以某种格式生成测试文件) /t ...

  2. Linux_防火墙与SElinux

    一.防火墙与SElinux 1.防火墙和selinux 防火墙 iptables          默认允许所以 firewalld         默认拒绝所有 ebtables 不认识,不管 se ...

  3. IT菜鸟之计算机硬件

    现在的人们几乎无时无刻都会碰到计算机!不管是桌面计算机.笔记本电脑.平板计算机.智能型手机等等,这些东西都算计算机.虽然接触的怎么多,但是,我们一般很少会专门了解计算机内部的构成,下面就是自己在听课结 ...

  4. 004.kubernets对于pod的简单管理

    一 pod简介 1.1 介绍 Pod是K8s集群中所有业务类型的基础 Pod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的. Pod的设计理念是支持多个容器在一个Pod中共享网络地 ...

  5. python基础之错误、调试(异常处理)

    在程序运行过程中,总会遇到各种各样的错误. 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的. 有的错误是用户输入造成的,比如让用 ...

  6. 通过Dapr实现一个简单的基于.net的微服务电商系统(十五)——集中式接口文档实现

    之前有小伙伴在评论区留言说如何集成swagger,最开始没有想透给了对方一个似是而非的回答.实际上后来下来想了一下,用.NET5 提供的Source Generator其实可以很方便的实现接口集成.今 ...

  7. 【分布式】-- 基于Nacos、OpenFeign搭建的微服务抽奖系统后台小案例

    1.项目介绍 最近入项目之前要求熟悉一下SpringCloud Nacos微服务基于Feign接口调用并整合Swagger2进行接口文档展示给前端,所以自己按照要求来编写并整合了一套基于SpringC ...

  8. Linux应用程序设计:用一种讨巧方式,来获取线程栈的使用信息

    面对的问题 对于线程的栈空间,相信各位小伙伴都不陌生.它有下面的这几项特性: > 1. 由操作系统分配固定的空间; > > 2. 使用一个栈寄存器来保存实时位置; > > ...

  9. Cannot resolve class or package 'mysql’处理方法

    在application.properties中配置mybatis_plus碰见报了这个错误 Cannot resolve class or package 'jdbc' 错误产生的原因 其实这个问题 ...

  10. Jmeter(五十) - 从入门到精通高级篇 - jmeter 之模拟弱网进行测试(详解教程)

    1.简介 在实际工作中,网络带宽一定不会是持续稳定的保持某一个值,而是有高有低.因此为了测试场景和实际能够无限的接近,所以我们需要模拟一下来达到效果.还有就是在实际的测试工作中,会因为业务需要,有时限 ...