首页 >后端开发 >php教程 >nginx管理配置优化

nginx管理配置优化

不言
不言原创
2018-05-08 10:31:271808浏览

这篇文章主要介绍了关于nginx管理配置优化,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

nginx优化

优化思路
这里写图片描述

基本优化

1、调整参数隐藏nginx软件版本号信息

server_tokens off;

2、更改nginx服务默认用户

user nginx nginx;

3、优化nginx服务的worker进程个数

worker_processes cpu*核数;

4、优化绑定不同的nginx进程到不同的cpu上

worker_cpu_affinit 0001 0010 0100 1000 0001 0010 0100 1000;

5、nginx时间处理模型优化

use epoll

6、调整单进程最大连接数

worker_connections 20480;

7、nginx work进程最大打开文件数

worker_rlimit_nofile 65535;

8、开启高效文件传输模式

sendfile on;

用于开启文件的高效传输模式,同时将tcp_nopush和tcp_nodelay两个指令设置为on,可以防止网络及磁盘I/O阻塞,提升nginx工作效率。
9、优化连接超时时间

keepalive_timeout 0;          //结束响应后立即断开tcp连接。

10、fastCGI优化

11、配置nginx gzip压缩实现性能优化

gzip on;
gzip_min_length 1k;
gzip_buffers 4 32k;
gzip_comp_level 9;
gzip_vary on;

12、配置nginx expires缓存实现性能优化

nginx expires 3650d;

13、nginx日志相关优化与安全
14、根据拓展名限制程序和文件访问。

dell all;allow all;

15、防盗链

HTTP referer

系统层面优化

1、系统层面优化

echo 500000 > /proc/sys/net/core/somaxconn  //设置最大连接数
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle  //加快tcp回收
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse    //空的tcp允许回收利用
echo 0 > /proc/sys/net/ipv4/tcp_syncookies  //关闭洪水抵御

2、nginx&php-fpm优化配置
nginx将请求转发给php-fpm处理,当nginx转发很多请求时,php-fpm进程不够用,就会生成子进程。
然而生成子进程需要内核来调度,比较耗时。
如果网站并发比较大,可以用静态方式一次性生成多个子进程,保持的内存中。
修改phjp-fpm.conf

pm=static //让php-fpm进程始终保持,不需要动态生成pm.max_children=32 始终保持的子进程数量

3、php&mysql优化
内核层面:加大连接数,加快tcp回收
mysql层面:增大连接数
php层面:用长连接,节省连接数
用内存缓存(memcached),减轻mysql压力
注意
内存缓存适用于缓存复杂的sql查询。因为phpmemcached也要建立tcp连接,所以简单的sql查询不需要用缓存。


以上是nginx管理配置优化的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn