首页 > Nginx > Nginx php优化

Nginx php优化

1.首先安装最新的稳定版的Nginx和PHP

每次的版本升级都会看到有相应的性能优化和问题修复相关的。同时大家在遇到问题的时候,也可以很快找到相关的资料。

2.精简化安装

通过源码编译的方式,选择业务需要的功能模块。不可否认,过多无用的模块对于软件运行来说会带来无谓的cpu和RAM的资源消耗

3.修改系统ulimit参数

修改系统的最大文件打开数和最大进程数,具体操作方式可参考 https://gitsea.com/?p=175

4.优化Nginx.conf

worker_processes 2;//工作进程数建议设置成CPU核数,查看cpu核数命令:cat /proc/cpuinfo |grep processor

use epoll://这个就不解释了

worker_connections 10240;//每个nginx进程的连接数,过高的数量并无太大的意义

error_log /home/wwwlogs/nginx_error.log crit;//日志级别设置成最低,如果前期需要调试的话,建议设置成error以上

server_tokens off;//隐藏Server token

access_log        off;//关闭访问日志,减少无用日志的输出,对程序来说也是一种减压方式

fastcgi_pass    127.0.0.1:9000;//把默认的Nginx和Php通信代理方式由unix socket改成基于tcp socket的方式,以我个人测试的结果来看,在低并发的时候,两种并无太大差别,但是如果在高并发时候,unix socket很容易报502错误

之前也尝试过修改backlog参数,见效不大

gzip on;//开启gzip压缩

fastcgi_connect_timeout 500;

fastcgi_send_timeout 500;

fastcgi_read_timeout 500;

fastcgi_buffer_size 64k;

fastcgi_buffers 8 128k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 256k;//以上fastcgi参数,建议增加超时时间和缓冲池大小

对静态资源做http 缓存

对于Nginx的常用配置可以参考https://gitsea.com/?p=195

5.修改php-fpm.conf

//全局配置
emergency_restart_threshold = 10 //子进程在 emergency_restart_interval 设定的时间内收到该参数设定次数的 SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动,默认关闭
emergency_restart_interval= 1m // 用于设定平滑重启的间隔时间,有助于解决加速器中共享内存的使用问题
process_control_timeout =10s //设置子进程接受主进程复用信号的超时时间

[www]
listen = 127.0.0.1:9000 
user = www
group = www
pm = dynamic //小内存适合动态,大内存推荐静态方式
pm.max_children = 10 //设置php-fpm最大子进程数
request_slowlog_timeout = 5s //设置慢日志
slowlog = /var/log/php-fpm/slowlog-site.log 
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6
pm.status_path = /status //FPM 状态页面的网址。如果没有设置,则无法访问状态页面,默认值:无
listen.backlog = -1 //设置 listen(2) 的半连接队列长度,默认-1,表示无限制 
request_terminate_timeout = 5s//设置单个请求的超时中止时间
rlimit_files=51200 //设置文件打开描述符的 rlimit 限制,默认值为系统设定
pm.max_requests=10240//设置每个php-fpm处理完多少个请求之后销毁,默认值0,一直接受请求

6.增加Php缓存

最新的php已经集成opcache,在编译的时候记得使其生效

7.多个php site 配置

建议设置多个fastcgi pass,开启多个端口服务,映射到不同的项目中
附:查看php-fpm 进程数 ps aux | grep -c php-fpm

 

分类: Nginx 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
*